Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Csdl Nangcao

1,331 views

Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

Csdl Nangcao

  1. 1. CƠ SỞ DỮ LIỆU NÂNG CAO LÝ THUYẾT PHỤ THUỘC HÀM Thầy giảng dạy: TS. Hoàng Quang
  2. 2. Tại sao phải nghiên cứu LTPTH? DƯ THỪA DL DỊ THƯỜNG DƯ THỪA DL DỊ THƯỜNG
  3. 3. MỘT SỐ CÁC ĐỊNH NGHĨA TRONG LÝ THUYẾT PHỤ THUỘC HÀM
  4. 4. Phụ thuộc hàm r thỏa A  C r thỏa B  C A B C r = a b c b d c a e c X  Y  t 1 , t 2  r : t 1 [X] = t 2 [X]  t 1 [Y] = t 2 [Y]
  5. 5. Lược đồ quan hệ thoả mãn phụ thuộc hàm KHÔNG THỎA MÃN X  Y Stop R= <U, SC> Or R= < U, F >
  6. 6. Bao đóng của tập phụ thuộc hàm <ul><li>R = <U, F>. F + là tập tất cả các phụ thuộc hàm hệ quả của F </li></ul><ul><li>F + = {X  Y | F╞ X  Y} </li></ul><ul><li>F  F + </li></ul>
  7. 7. Khoá của lược đồ quan hệ <ul><li>R = <U, F>, X  U. X là khoá của R nếu: </li></ul><ul><li>1.X  U ( siêu khoá ) </li></ul><ul><li>2. Không  X’  X : X’ là siêu khoá của R </li></ul>Ví dụ : R = <U, F> U = ABC; F = {A  B, B  C} {A} là khoá của R
  8. 8. Hệ tiên đề Amstrong <ul><li>Cho R = <U, F> </li></ul><ul><li>-   (X, Y  U ) (X  Y) : Y  X  F + </li></ul><ul><li>-   (X, Y, Z  U) (X  Y)  F +: XZ  YZ  F + </li></ul><ul><li>-    (X, Y, Z  U) (X  Y  F + , Y  Z  F +): X  Z  F + </li></ul>
  9. 9. Hệ tiên đề Amstrong (2) <ul><li>Ví dụ : R =<U, F>, U =ABC, F = {A  B, A  C} </li></ul><ul><li>Chứng minh: A  BC  F + </li></ul><ul><li>A  B (1) </li></ul><ul><li>A  C (2) </li></ul><ul><li>Từ (1)  A  AB (3) (Luật gia tăng) </li></ul><ul><li>Từ (2)  AB  BC (4) (Luật gia tăng) </li></ul><ul><li>Từ (3) & (4)  A  BC (Luật bắc cầu) </li></ul><ul><li> đpcm </li></ul>
  10. 10. Bao đóng của tập thuộc tính (X + ) <ul><li>Ví dụ </li></ul><ul><li>F = {A  B, B  C} </li></ul><ul><li>A + F = ABC </li></ul><ul><li>(AB) + = ABC </li></ul><ul><li>R = <U, F> và X, Y  U. Khi đó: X  Y  F +  Y  X + F </li></ul>X + = {A | X  A  F + }=X + F
  11. 11. Hai tập phụ thuộc hàm tđương <ul><li>Cho F & G. F  G nếu và chỉ nếu F + = G + </li></ul><ul><li>Ý tưởng đề kiểm chứng F  G </li></ul>F+ G G+ F &
  12. 12. Hai tập phụ thuộc hàm tđương (2) <ul><li>Ví dụ : Kiểm tra F và G có tđương hay ko </li></ul><ul><li>F={A  BC}, G={A  B, A  C </li></ul><ul><li>{Kiểm tra F  G + } </li></ul><ul><li>A  B :A + F = ABC B </li></ul><ul><li>A  C: A + F = ABC C </li></ul><ul><li>{Kiểm tra G  F + } </li></ul><ul><li>A  BC: A + G = ABC BC </li></ul><ul><li>Vậy F tđ với G </li></ul>
  13. 13. Phủ cực tiểu của một lược đồ quan hệ (1) <ul><li>Cho R = <U, F>, F được gọi là phủ cực tiểu của R khi và chỉ khi: </li></ul><ul><li>Vế phải chỉ có 1 thuộc tính </li></ul><ul><li>Không có thuộc tính dư thừa ở vế trái </li></ul><ul><li>Không có phụ thuộc hàm dư thừa </li></ul>
  14. 14. Phủ cực tiểu của một lược đồ quan hệ (2) <ul><li>b)   X  A  F,  B  X </li></ul><ul><li> ((F {X  A} )  (X {B}  A)) +  F + </li></ul><ul><li>  X  A  F,  B  X: X{B}  A  F + </li></ul><ul><li>  X  A  F,  B  X: (X {B}) + A </li></ul><ul><li>      </li></ul><ul><li>c)   X  A  F: X  A  (F {X  A}) + </li></ul><ul><li>  X  A  F, X + F{X  A} A </li></ul>
  15. 15. Phủ cực tiểu của tập phụ thuộc hàm <ul><li>R = <U, F>. G đgl 1 phủ cực tiểu của F nếu thoả 2 điều kiện: </li></ul><ul><li>G  F </li></ul><ul><li>G là phủ cực tiểu của R’ = <U, G> </li></ul><ul><li>Phủ cực tiểu của 1 phụ thuộc hàm là không duy nhất </li></ul>
  16. 16. <ul><li>Giải thuật tìm phủ cực tiểu </li></ul><ul><li>Bước 1 </li></ul>Bước 2 For (mỗi X  A  F) do For (mỗi B  X) do If ((X {B}) + F  A) then X := X {B};
  17. 17. <ul><li>Giải thuật (tt) </li></ul><ul><li>Bước 3 </li></ul><ul><li>For (mỗi X  A  F) do </li></ul><ul><li> If (X + F{X  A}  A) then </li></ul><ul><li> F := F {X  A}; </li></ul><ul><li>Kết luận : G := F; </li></ul>
  18. 18. Ví dụ Tìm phủ cực tiểu của tập PTH R = <U, F>,U = ABD, F ={B  A, D  A, AB  D} <ul><li>AB  D </li></ul><ul><li>B + F = BAD  D  loại bỏ A </li></ul><ul><li>F = {B  A, B  D, D  A} </li></ul><ul><li>B  D </li></ul><ul><li>B + F{B  D} = BA D </li></ul><ul><li>B  A </li></ul><ul><li>B + F{B  A} = BDA  A  loại bỏ B  A </li></ul><ul><li> F = {D  A, B  D} </li></ul><ul><li>D  A </li></ul><ul><li>D + F{D  A} = D A </li></ul>Kết luận: F = {D  A, B  D}
  19. 19. Khóa của lược đồ <ul><li>Định lý Hồ Thuần - Nguyễn Văn Bào (Điều kiện cần để X là khoá) </li></ul><ul><li>(U P)  X  (U P)  (T  P) </li></ul><ul><li> Function Key(R) </li></ul><ul><li>1.       Xđịnh T </li></ul><ul><li>2.       Xác định P </li></ul><ul><li>3.        X := (U P)  (T  P) (X:= S) </li></ul><ul><li>4.        For <mỗi A  (T  P)> do (A  S  T  P ) </li></ul><ul><li>5.        If <(X A) F + = U> then </li></ul><ul><li>X := X A; Return X . </li></ul>
  20. 20. Giải thuật xác định tất cả các khoá của 1 lược đồ quan hệ <ul><li>Định lý Lucchesi và Osborn: (Điều kiện cần và đủ để bổ sung khoá) </li></ul><ul><li>R = <U, F>. K là 1 tập khác rỗng các khoá của lược đồ quan hệ R. Điều kiện cần và đủ để bổ sung khoá mới vào K là: </li></ul><ul><li> k  K </li></ul><ul><li> X  Y  F </li></ul><ul><li>sao cho T = X  (K Y) không chứa phần tử nào của K. </li></ul>
  21. 21. Giải thuật <ul><li>Tìm 1 khoá k  K ; </li></ul><ul><li>K := {R}; </li></ul><ul><li>For <mỗi k  K> </li></ul><ul><li>For <mỗi X  Y  F> do </li></ul><ul><li>T := X  (K Y) ; </li></ul><ul><li>If < T không chứa phần tử nào của K > then </li></ul><ul><li>Tìm khoá k ’ nhận T làm siêu khoá ; </li></ul><ul><li>K + := K  {K ’ } </li></ul>
  22. 22. Giải thuật (2) <ul><li>goto 3; </li></ul><ul><li>EndIf; </li></ul><ul><li>EndFor; </li></ul><ul><li>EndFor; </li></ul><ul><li>Return; </li></ul>
  23. 23. Xin chân thành cảm ơn thầy và các bạn đã tham gia thảo luận!

×