1 / 45

PHUÏ THUOÄC HAØM

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.

karik
Download Presentation

PHUÏ THUOÄC HAØM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  2. PHUÏ THUOÄC HAØM GIÔÙI THIEÄU 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

  3. 1. Ñònh nghóa Quan 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.

  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.

  5. 1. Ñònh nghóa Ví duï: Trong quan heä Sinhvien (Masv, Hoten, Phai, NgSinh, Quequan, Diachi) • Coù caùc phuï thuoäc haøm sau: Masv  Quequan, Diachi Masv, Hoten  Ngsinh, Quequan • Khoâng coù caùc phuï thuoäc haøm sau: Hoten  Ngsinh, Quequan

  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ù.

  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

  8. 2. Bieåu dieãn Pth baèng ñoà thò Cho R (A, B, C, D, E, H) vôùi F = {f1=ABC, CDE, ECA, CDH, HB }

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

  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.

  11. 3. Suy dieãn logic caùc Pth Ví 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. 

  12. 4. Heä tieân ñeà Amstrong Naê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

  13. 4. Heä tieân ñeà Amstrong Ví 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)

  14. 4. Heä tieân ñeà Amstrong Ví duï: 1/ Cho F = {A  B, BC D }. CMR: AC  BCD 2/ Cho F = {A  BC, AC D }. CMR: AC  BCD

  15. 4. Heä tieân ñeà Amstrong Caù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

  16. 4. Heä tieân ñeà Amstrong Ví duï: Cho R(A,B,C,D,E,G,H). CMR: ABE vôùi F = {ABC, BD, CDE, CEGH, GA }. Ta coù: (1)ABC (cho tröôùc) (2) ABAB (tính chaát phaûn xaï) (3) ABB (luaät taùch) (4) BD (cho tröôùc) (5) ABD (baéc caàu 3 & 4) (6) ABCD (hôïp 1 & 5) (7) CDE (cho tröôùc) (8) ABE (baéc caàu 6 & 7)

  17. 4. Heä tieân ñeà Amstrong Ví duï: Cho R(A,B,C,D,E,G,H,I,J). F = {ABE, AGJ, BEI, EG, GIH } CMR: ABGH • ABE (cho tröôùc – f1) • ABAB (phaûn xaï) • ABB (luaät taùch) • ABBE (hôïp cuûa 1 & 3) • BEI (cho tröôùc - f3) • ABI (baéc caàu 4 & 5) • EG (cho tröôùc - f4) • ABG (baéc caàu 1 & 7) • ABGI (hôïp 6 & 8) • GIH (cho tröôùc - f5) • ABH (baéc caàu 9 & 10) • ABGH (hôïp 8 & 11) Lôøi giaûi

  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.

  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.  

  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)BDCBDC (phaûn xaï) (2) BDG (giaû thieát f3) (3) CGA (giaû thieát f2) (4) BDCA (töïa baéc caàu 2,3) (5) BDCGA (hôïp 2 & 4) (6) BDCE (baéc caàu 5 & f4) (7) BDCQ+ (hôïp 1,4,5,6)

  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: • X  X+F • X  A  F+  A X+F

  22. 6. Bao ñoùng cuûa taäp thuoäc tính Thuaä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:

  23. 6. Bao ñoùng cuûa taäp thuoäc tính Thuaä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

  24. 6. Bao ñoùng cuûa taäp thuoäc tính Tì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

  25. 6. Bao ñoùng cuûa taäp thuoäc tính Tìm bao ñoùng cuûa taäp thuoäc tính – Ví duï F = {AB  C, C  A, BC  D, ACD  B, D  EG, BE  C, CG  BD, CE  AG }  {D}+ = DEG

  26. 6. Bao ñoùng cuûa taäp thuoäc tính F = {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ï  {BD}F+ = ABCDEG

  27. 6. Bao ñoùng cuûa taäp thuoäc tính Tì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

  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:  • K  U. ( K laø sieâu khoùa ) •  K’  K maø K’  U.

  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: • 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 • 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.

  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

  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

  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.

  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.

  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

  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 R Ta 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.

  36. 7. Khoùa – Thuaät toaùn tìm khoùa

  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

  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 R Ta 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.

  39. 7. Khoùa – Thuaät toaùn tìm khoùa

  40. 7. Khoùa – Thuaät toaùn tìm khoùa

  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

  42. Bài tập Cho lược đồ quan hệ R(ABCDEGH) Với tập phụ thuộc hàm: F = {AEB; ACDGH; BE} Tìm khoá

  43. F = {AEB; ACDGH; BE} N={ACD} D={GHE} L={B} i Li Xi=N U Li Xi+F 0  ACD ABCDEGH=R+ 1 B ACDIB R+ Khóa là ACD

  44. Cho lược đồ quan hệ R(ABCDEGH) • Với tập phụ thuộc hàm: • F = { DCE; ABH; CG; BA; ACD } • Tìm khoá

More Related