45
1 PHUÏ THUOÄC HAØM 1. Ñònh nghóa 2. Bieåu dieãn Pth baèng ñoà thò 3. Suy dieãn logic caùc phuï thuoäc haøm 4. Heä tieân ñeà Amstrong 5. Bao ñoùng 6. Bao ñoùng cuûa taäp thuoäc tính 7. Khoùa - Thuaät toaùn tìm khoùa

PHUÏ THUOÄC HAØM

  • Upload
    karik

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

PHUÏ THUOÄC HAØM. 1. Ñònh nghóa 2. Bieåu dieãn Pth baèng ñoà thò 3. Suy dieãn logic caùc phuï thuoäc haøm 4. Heä tieân ñeà Amstrong 5. Bao ñoùng 6. Bao ñoùng cuûa taäp thuoäc tính 7. Khoùa - Thuaät toaùn tìm khoùa. PHUÏ THUOÄC HAØM. GIÔÙI THIEÄU. - PowerPoint PPT Presentation

Citation preview

Page 1: PHUÏ THUOÄC HAØM

1

PHUÏ THUOÄC HAØM1. Ñònh nghóa2. Bieåu dieãn Pth baèng ñoà thò3. Suy dieãn logic caùc phuï thuoäc haøm4. Heä tieân ñeà Amstrong5. Bao ñoùng6. Bao ñoùng cuûa taäp thuoäc tính7. Khoùa - Thuaät toaùn tìm khoùa

Page 2: PHUÏ THUOÄC HAØM

2

PHUÏ THUOÄC HAØM

Phuï thuoäc haøm (Functional Dependency) laø moät coâng cuï duøng ñeå bieåu dieãn, moät caùch hình thöùc, moät soá raøng buoäc toaøn veïn. Phöông phaùp bieåu dieãn naøy coù nhieàu öu ñieåm vaø chuùng ta coù theå aùp duïng caùc coâng cuï toaùn hoïc ñeå giaûi quyeát baøi toaùn tìm khoùa cuõng nhö ñaùnh giaù chaát löôïng thieát keá cuûa 1 CSDL

GIÔÙI GIÔÙI THIEÄUTHIEÄU

Page 3: PHUÏ THUOÄC HAØM

3

1. Ñònh nghóaQuan heä R ñöôïc ñònh nghóa treân taäp

thuoäc tính U = { A1, A2, ..., An}.

A, B U laø 2 taäp con cuûa taäp thuoäc tính U.

Neáu toàn taïi moät aùnh xaï f: A B thì ta noùi raèng A xaùc ñònh haøm B, hay B phuï thuoäc haøm vaøo A.

Kyù hieäu: A B.

Page 4: PHUÏ THUOÄC HAØM

4

1. Ñònh nghóa Ñònh nghóa hình thöùc cuûa phuï thuoäc

haøm nhö sau:  Quan heä Q (A, B, C) coù phuï thuoäc haøm A

xaùc ñònh B (kyù hieäu laø A B) neáu: q, q’ Q, sao cho q.A = q’.A thì q.B =

q’.B Nghóa laø: öùng vôùi 1 giaù trò cuûa A

thì coù moät giaù trò duy nhaát cuûa B A laø veá traùi cuûa phuï thuoäc haøm, B

laø veá phaûi cuûa phuï thuoäc haøm. Pth A A ñöôïc goïi laø Pth hieån nhieân.

Page 5: PHUÏ THUOÄC HAØM

5

1. Ñònh nghóaVí duï:Trong quan heä Sinhvien (Masv, Hoten,

Phai, NgSinh, Quequan, Diachi) Coù caùc phuï thuoäc haøm sau:Masv Quequan, DiachiMasv, Hoten Ngsinh, Quequan Khoâng coù caùc phuï thuoäc haøm sau:Hoten Ngsinh, Quequan

Page 6: PHUÏ THUOÄC HAØM

6

1. Ñònh nghóa Trong QuanHeä CHITIEÁT_HÑ (Soá-

hoùa-ñôn, Maõ-haøng, Soá-löôïng, Ñôn-giaù, Trò-giaù)

coù caùc phuï thuoäc haøm sau: f1: Soá-hoùa-ñôn, Maõ-haøng Soá-

löôïng f2: Soá-hoùa-ñôn, Maõ-haøng Ñôn-

giaù. f3: Soá-hoùa-ñôn, Maõ-haøng Trò-

giaù. f4: Soá-löôïng, Ñôn-giaù Trò-giaù.

Page 7: PHUÏ THUOÄC HAØM

7

2. Bieåu dieãn Pth baèng ñoà thòPth coù theå bieåu dieãn baèng ñoà thò coù höôùng: Caùc nuùt trong ñoà thò chia thaønh 2 loaïi:

Nuùt thuoäc tính: bieåu dieãn baèng teân thuoäc tính

Nuùt phuï thuoäc haøm: bieåu dieãn baèng hình troøn coù soá thöù töï cuûa pth.

Caùc cung trong ñoà thò cuõng coù 2 loaïi: Cung ñeán pth: xuaát phaùt töø caùc thuoäc

tính ôû veá traùi cuûa caùc pth Cung rôøi pth: höôùng ñeán caùc thuoäc tính

ôû veá phaûi cuûa caùc pth

Page 8: PHUÏ THUOÄC HAØM

8

2. Bieåu dieãn Pth baèng ñoà thòCho R (A, B, C, D, E, H) vôùi F = {f1=ABC, CDE, ECA, CDH, HB }

Page 9: PHUÏ THUOÄC HAØM

9

2. Bieåu dieãn Pth baèng ñoà thòCho R (A, B, C, D, E, G) Vôùi F = {f1=AC; BDE; ABG; AED; DE } 

Page 10: PHUÏ THUOÄC HAØM

10

3. Suy dieãn logic caùc Pth Cho löôïc ñoà quan heä R vôùi taäp thuoäc

tính U vaø taäp caùc Pth F. X Y laø 1 pth; X,Y U. Ta noùi raèng X Y ñöôïc suy dieãn loâgic

töø F neáu r R, neáu r thoûa taát caû caùc pth

trong F thì r cuõng thoûa X Y Kyù hieäu laø: F = X Y.

Page 11: PHUÏ THUOÄC HAØM

11

3. Suy dieãn logic caùc PthVí duï: Vôùi F = {X Y, X Z, Y T } Thì ta coù caùc phuï thuoäc haøm X YZ

vaø X T. 

Page 12: PHUÏ THUOÄC HAØM

12

4. Heä tieân ñeà AmstrongNaêm 1974, Amstrong ñaõ ñöa ra heä tieân

ñeà (goïi laø heä luaät daãn Amstrong) nhö sau:  Cho löôïc ñoà quan heä Q vôùi taäp T.tính U.

X, Y, Z, W U. Pth coù caùc tính chaát sau: Tính phaûn xaï:

Neáu Y X thì X Y Tính taêng tröôûng:

Neáu X Y thì XZ YZ (Z U) Tính baéc caàu:

Neáu X Y vaø Y Z thì X Z

Page 13: PHUÏ THUOÄC HAØM

13

4. Heä tieân ñeà AmstrongVí duï:

Cho F = {AB C, C A }. CMR: BC ABC

Ta coù: (1) C A (giaû thieát)

(2) BC AB (taêng tröôûng 1)

(3) AB C (giaû thieát)

(4) AB ABC (taêng tröôûng 3)

(5) BC ABC (baéc caàu 2 & 4)

Page 14: PHUÏ THUOÄC HAØM

14

4. Heä tieân ñeà AmstrongVí duï:

1/ Cho F = {A B, BC D }.

CMR: AC BCD

2/ Cho F = {A BC, AC D }.

CMR: AC BCD

Page 15: PHUÏ THUOÄC HAØM

15

4. Heä tieân ñeà AmstrongCaùc luaät boå sung  Cho löôïc ñoà quan heä Q vôùi taäp T.tính U.

X, Y, Z, W U. Pth coù caùc tính chaát sau: Luaät phaân raõ:

Neáu X YZ thì X Y vaø X Z Luaät hôïp:

Neáu X Y vaø X Z thì X YZ Luaät töïa baéc caàu:

Neáu X Y vaø YZ W thì XZ W

Page 16: PHUÏ THUOÄC HAØM

16

4. Heä tieân ñeà AmstrongVí duï: Cho R(A,B,C,D,E,G,H). CMR: ABE vôùi

F = {ABC, BD, CDE, CEGH, GA }.

Ta coù: (1) ABC (cho tröôùc) (2) ABAB (tính chaát phaûn xaï)

(3) ABB (luaät taùch)

(4) BD (cho tröôùc)

(5) ABD (baéc caàu 3 & 4)

(6) ABCD (hôïp 1 & 5)

(7) CDE (cho tröôùc)

(8) ABE (baéc caàu 6 & 7)

Page 17: PHUÏ THUOÄC HAØM

17

4. Heä tieân ñeà AmstrongVí duï:

Cho R(A,B,C,D,E,G,H,I,J).

F = {ABE, AGJ, BEI, EG, GIH }

CMR: ABGH1) ABE (cho tröôùc – f1) 2) ABAB (phaûn xaï) 3) ABB (luaät taùch) 4) ABBE (hôïp cuûa 1

& 3) 5) BEI (cho tröôùc - f3) 6) ABI (baéc caàu 4 & 5) 7) EG (cho tröôùc - f4) 8) ABG (baéc caàu 1 & 7) 9) ABGI(hôïp 6 & 8) 10)GIH (cho tröôùc - f5) 11)ABH (baéc caàu 9 & 10) 12)ABGH (hôïp 8 & 11)

Lôøi giaûi

Page 18: PHUÏ THUOÄC HAØM

18

5. Bao ñoùng (Closure)Goïi F+ laø bao ñoùng (Closure) cuûa F, töùc

laø taäp caùc phuï thuoäc haøm ñöôïc suy dieãn loâgic töø F.

Neáu F = F+ thì ta noùi F laø hoï ñaày ñuû (full family) cuûa caùc phuï thuoäc haøm.  

Page 19: PHUÏ THUOÄC HAØM

19

5. Bao ñoùng (Closure)Baøi toaùn thaønh vieân (MemberShip):

Neâu vaán ñeà Kieåm tra Pth X Y coù ñöôïc suy dieãn loâgíc töø F khoâng? (töùc laø X Y F+ ? )

-Ñaây laø moät baøi toaùn khoù giaûi.

-Ñoøi hoûi phaûi coù moät heä luaät daãn ñeå suy dieãn loâgic caùc phuï thuoäc haøm.  

Page 20: PHUÏ THUOÄC HAØM

20

5. Bao ñoùng (Closure)Baøi toaùn thaønh vieân – ví duï:

Cho löôïc ñoà Q(ABCDEG).

F = {AE C, CG A, BD G, GA E }

CMR: BDC Q+ F+ (Q+ = ABCDEG)

Ta coù: (1) BDCBDC (phaûn xaï) (2) BDG (giaû thieát f3)

(3) CGA (giaû thieát f2)

(4) BDCA (töïa baéc caàu 2,3)

(5) BDCGA (hôïp 2 & 4)

(6) BDCE (baéc caàu 5 & f4)

(7) BDCQ+ (hôïp 1,4,5,6)

Page 21: PHUÏ THUOÄC HAØM

21

6. Bao ñoùng cuûa taäp thuoäc tính Ñònh nghóa: Bao ñoùng cuûa taäp thuoäc

tính X ñoái vôùi taäp caùc Pth F (kyù hieäu: X+

F ) laø taäp taát caû caùc thuoäc tính A

coù theå suy daãn töø X nhôø taäp bao ñoùng cuûa F (F+)

X+F = { A X A F+ }

Nhaän xeùt:

1) X X+F

2) X A F+ A X+F

Page 22: PHUÏ THUOÄC HAØM

22

6. Bao ñoùng cuûa taäp thuoäc tínhThuaät toaùn Tìm bao ñoùng cuûa taäp

thuoäc tính Input: Taäp U höõu haïn caùc thuoäc tính &

taäp caùc Pth F treân U & X U.

Output: X+F

Phöông phaùp: Tính lieân tieáp X0, X1, X2,

… theo quy taéc nhö sau:

Page 23: PHUÏ THUOÄC HAØM

23

6. Bao ñoùng cuûa taäp thuoäc tínhThuaät toaùn Tìm bao ñoùng cuûa taäp

thuoäc tính

1.X0 = X

2.Xi+1 = Xi A Sao cho (Y Z ) F,

maø A Z vaø Y Xi

3.Cho ñeán khi Xi+1 = Xi

(Vì X= X0 X1 X2 … U, maø U höõu haïn cho

neân seõ toàn taïi 1 chæ soá i naøo ñoù maø Xi+1 = Xi)

Khi ñoù X+F = Xi

Page 24: PHUÏ THUOÄC HAØM

24

6. Bao ñoùng cuûa taäp thuoäc tínhTìm bao ñoùng cuûa taäp thuoäc tính – Ví

duï

Cho R(U) vôùi U=ABCDEG

F = {AB C, C A, BC D, ACD B,

D EG, BE C, CG BD, CE AG }

Tính X+F , vôùi:

X= D

X= BD

Page 25: PHUÏ THUOÄC HAØM

25

6. Bao ñoùng cuûa taäp thuoäc tínhTìm bao ñoùng cuûa taäp thuoäc tính – Ví duï

Xi Taäp Pth Xi+1

X0= D D EG DE

X1= DE D EG DEG

X2= DEG

{D}+ = DEGF = {AB C, C A, BC D, ACD B,

D EG, BE C, CG BD, CE AG }

Page 26: PHUÏ THUOÄC HAØM

26

6. Bao ñoùng cuûa taäp thuoäc tínhF = {AB C, C A, BC D, ACD B,D EG, BE C, CG BD, CE AG }

Tìm bao ñoùng cuûa taäp thuoäc tính – Ví duï

Xi Taäp Pth Xi+1

X0= BD D EG BDEG

X1= BDEG D EG, BE C BCDEG

X2= BCDEG C A, BC D, D EG, BE C, CG BD, CE AG

ABCDEG

X3= ABCDEG Taát caû ABCDEG

X4= ABCDEG

{BD}F+ = ABCDEG

Page 27: PHUÏ THUOÄC HAØM

27

6. Bao ñoùng cuûa taäp thuoäc tínhTìm bao ñoùng cuûa taäp thuoäc tính – Ví

duï

Cho R(U) vôùi U=ABCDEGH

F = {B A, DA CE, D H,

GH C, AC D }

Tính X+F , vôùi:

X= BD; X+F = ABCDEH

X= AC; X+F =ACDEH

Page 28: PHUÏ THUOÄC HAØM

28

7. Khoùa – Thuaät toaùn tìm khoùa Ñònh nghóa:• R laø löôïc ñoà quan heä ñònh nghóa treân

taäp caùc thuoäc tính U = { A1, A2, ... , An }, vôùi taäp caùc phuï thuoäc haøm F = { f1, f2, ..., fm } xaùc ñònh treân R. K U laø khoùa cuûa R neáu thoûa maõn hai ñieàu kieän sau ñaây: 

1) K U. ( K laø sieâu khoùa )2) K’ K maø K’ U.

Page 29: PHUÏ THUOÄC HAØM

29

7. Khoùa – Thuaät toaùn tìm khoùa Baøi Toaùn Tìm khoùa:• Xaùc ñònh taát caû caùc khoùa cuûa 1

löôïc ñoà quan heä. Baøi toaùn naøy ñöôïc giaûi quyeát qua 2 giai ñoaïn:

1. Giai ñoaïn 1: Xaây döïng taäp S chöùa taát caû caùc sieâu khoùa cuûa R

2. Giai ñoaïn 2: Xaây döïng taäp K chöùa taát caû caùc khoùa cuûa R töø taäp S baèng caùch loaïi boû khoûi S nhöõng sieâu khoùa khoâng toái thieåu.

Page 30: PHUÏ THUOÄC HAØM

30

7. Khoùa – Thuaät toaùn tìm khoùa Baøi Toaùn Tìm khoùa: Ñeå xaùc ñònh taát caû caùc sieâu khoùa

cuûa 1 löôïc ñoà quan heä R, ta laàn löôït xeùt (2n-1) taäp hôïp con cuûa R+ : X1, X2, …

Neáu 1 taäp con Xi cuûa R+ coù bao ñoùng baèng ñuùng R+ thì taäp con Xi chính laø 1 sieâu khoùa.

Neáu R chæ coù 1 sieâu khoùa S thì sieâu khoùa ñoù cuõng laø khoùa cuûa löôïc ñoà quan heä R

Page 31: PHUÏ THUOÄC HAØM

31

7. Khoùa – Thuaät toaùn tìm khoùa Baøi Toaùn Tìm khoùa: Trong tröôøng hôïp R coù nhieàu hôn 1 sieâu

khoùa (höõu haïn), ñeå xaùc ñònh taát caû caùc khoùa chæ ñònh, ta so saùnh 1 caëp sieâu khoùa Si vaø Sj. Neáu Si Sj, ta loaïi Sj vaø giöõ laïi Si.

Laàn löôït so saùnh töøng caëp sieâu khoùa ñeå loaïi boû taäp lôùn, cuoái cuøng thu ñöôïc taäp caùc khoùa chæ ñònh cuûa R.

Thuaät toaùn khoâng khaû thi khi n lôùn

Page 32: PHUÏ THUOÄC HAØM

32

7. Khoùa – Thuaät toaùn tìm khoùa Baøi Toaùn Tìm khoùa – Thuaät toaùn

caûi tieán:Chuùng ta seõ caûi tieán thuaät toaùn döïa treân

vieäc phaân loaïi taäp thuoäc tính R+

A goïi laø thuoäc tính nguoàn neáu A khoâng xuaát hieän ôû veá phaûi cuûa baát kyø Pth khoâng hieån nhieân naøo cuûa F. Taäp caùc thuoäc tính nguoàn kyù hieäu laø N

A goïi laø thuoäc tính ñích neáu A khoâng phaûi thuoäc tính nguoàn vaø A khoâng xuaát hieän ôû veá traùi cuûa baát kyø Pth khoâng hieån nhieân naøo cuûa F. Kyù hieäu laø D.

Page 33: PHUÏ THUOÄC HAØM

33

7. Khoùa – Thuaät toaùn tìm khoùa Baøi Toaùn Tìm khoùa – Thuaät toaùn

caûi tieán: Taäp hôïp caùc thuoäc tính khoâng phaûi

nguoàn vaø khoâng phaûi ñích goïi laø taäp trung gian. Kyù hieäu laø L

Caùc taäp hôïp N, D, L rôøi nhau töøng ñoâi moät vaø N D L = R+

Nhaän xeùt Neáu K laø khoùa cuûa R thì K chöùa taát

caû caùc thuoäc tính nguoàn vaø khoâng chöùa baát kyø thuoäc tính ñích naøo.

Page 34: PHUÏ THUOÄC HAØM

34

7. Khoùa – Thuaät toaùn tìm khoùa Thuaät toaùn caûi tieán: B1: Xaây döïng 2v taäp con cuûa L: L1, L2, …

baèng phöông phaùp ñöôøng chaïy nhò phaân.

B2: Xaây döïng taäp K chöùa caùc sieâu khoùa K = Li, Xi = N Li

Tính Xi+

F . Neáu Xi+

F = R+ thì K = K Xi

B3: Loaïi boû daàn caùc sieâu khoùa lôùn

Page 35: PHUÏ THUOÄC HAØM

35

7. Khoùa – Thuaät toaùn tìm khoùa Ví duï:Cho R(ABCDEG) vôùi taäp Pth F = { AE C, CG A, BD G, GA E }Xaùc ñònh taát caû caùc khoùa cuûa RTa coù:

N = { B, D }D = L = { A, C, E, G }

Xaây döïng taäp thuoäc tính Li baèng PP ñöôøng chaïy nhò phaân.

Page 36: PHUÏ THUOÄC HAØM

36

7. Khoùa – Thuaät toaùn tìm khoùaACEG Li Xi = N Li Xi

+F

0000 BD BDG

0001 G BDG BDG

0010 E BDE BDEG

0011 EG BDEG BDEG

0100 C BDC ABDCGE=R+

0101 CG BDCG

0110 CE BDCE

0111 CEG BDCEG

1000 A BDA ABCDGE=R+

1001 AG BDAG

1010 AE BDAE

1011 AEG BDAEG

1100 AC BDAC

1101 ACG BDACG

1110 ACE BDACE

1111 ACEG BDACEG

Page 37: PHUÏ THUOÄC HAØM

37

7. Khoùa – Thuaät toaùn tìm khoùa Ví duï: Coù 12 sieâu khoùa: BDC, BDA, … Coù 2 khoùa: BDC, BDA

4 thuộc tính khóa: A, B, C, D

Page 38: PHUÏ THUOÄC HAØM

38

7. Khoùa – Thuaät toaùn tìm khoùa Ví duï:Cho R(ABCDEG) vôùi taäp Pth F = { EC B, AB C, EB D,

BG A, AE G }Xaùc ñònh taát caû caùc khoùa cuûa RTa coù:N = {E}D = {D}L = {ABCG} Xaây döïng taäp thuoäc tính Li baèng PP

ñöôøng chaïy nhò phaân.

Page 39: PHUÏ THUOÄC HAØM

39

7. Khoùa – Thuaät toaùn tìm khoùaABCG Li Xi = N Li Xi

+F

0000 E E

0001 G EG EG

0010 C EC BCED

0011 CG ECG ABCDGE=R+

0100 B EB EBD

0101 BG EBG ABCDGE=R+

0110 BC EBC EBCD

0111 BCG EBCG

1000 A EA EAG

1001 AG EAG EAG

1010 AC EAC EACBGD=R+

1011 ACG EACG

1100 AB EAB EABGDC=R+

1101 ABG EABG

1110 ABC EABC

1111 ABCG EABCG

Page 40: PHUÏ THUOÄC HAØM

40

7. Khoùa – Thuaät toaùn tìm khoùaABCG Li Xi = N Li Xi

+F

0000 E E

0001 G EG EG

0010 C EC ECBD

0011 CG ECG ECGBDA=R+

0100 B EB EBD

0101 BG EBG EBGDAC=R+

0110 BC EBC EBCD

0111 BCG EBCG

1000 A EA AEG

1001 AG EAG EAG

1010 AC EAC EACBDG=R+

1011 ACG EACG

1100 AB EAB EABDCG=R+

1101 ABG EABG

1110 ABC EABC

1111 ABCG EABCG

Page 41: PHUÏ THUOÄC HAØM

41

7. Khoùa – Thuaät toaùn tìm khoùa Ví duï: Coù 9 sieâu khoùa: ECG, EBG, EAC, EAB, … Coù 4 khoùa: ECG, EBG, EAC, EAB

Page 42: PHUÏ THUOÄC HAØM

42

Bai tâp

Cho lươc đô quan hê R(ABCDEGH)

Vơi tâp phu thuôc ham:

F = {AEB; ACDGH; BE}

Tim khoa

Page 43: PHUÏ THUOÄC HAØM

43

F = {AEB; ACDGH; BE}N={ACD}

D={GHE}

L={B}

i Li Xi=N U Li Xi+F

0 ACD ABCDEGH=R+

1 B ACDIB R+

Khoa la ACD

Page 44: PHUÏ THUOÄC HAØM

44

Cho lươc đô quan hê R(ABCDEGH) Vơi tâp phu thuôc ham: F = { DCE; ABH; CG; BA; ACD } Tim khoa

Page 45: PHUÏ THUOÄC HAØM

45