THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ  (Relational Database Designing) Phần V – PHỦ  (Cover)  CỦA TẬP PHỤ THUỘC HÀM
Một số định nghĩa <ul><li>Cho F, G là 2 tập phụ thuộc hàm, </li></ul><ul><li>F và G gọi là tương đương  nếu và chỉ nếu  F ...
Thuật toán kiểm tra F    G  <ul><li>Bước 1 :  Tính F + , G + </li></ul><ul><li>Bước 2 :  Nếu F +  = G + , => F    G </li...
Phủ tối thiểu  (minimal cover)  –Tập Phụ thuộc hàm không đầy đủ <ul><li>Cho lược đồ Q, tập PTH F, Z  Y    F. </li></ul><...
Phụ thuộc hàm không đầy đủ - Ví dụ <ul><li>Cho Q(ABC), F={AB  C, B  C} </li></ul><ul><li>Xét AB  C : </li></ul><ul><li>...
Thuật toán loại khỏi F các PTH không đầy đủ <ul><li>Bước 1 : Tính F + </li></ul><ul><li>Bước 2 : Duyệt tập F, với mọi d = ...
Tập phụ thuộc hàm có vế phải 1 thuộc tính <ul><li>Định nghĩa : F được gọi là  tập phụ thuộc hàm có vế phải 1 thuộc tính  n...
Tập phụ thuộc hàm không dư thừa <ul><li>Định nghĩa  : F được gọi là tập phụ thuộc hàm không dư thừa   </li></ul><ul><li>K...
Thuật toán loại khỏi F các PTH dư thừa <ul><li>Duyệt từng PTH X  Y thuộc F : </li></ul><ul><li>Nếu (F-{X  Y}) |= X  Y t...
Tập PTH tối thiểu <ul><li>Định nghĩa  : F được gọi là một  tập PTH tối thiểu  (hay F là 1  phủ tối thiểu ) nếu và chỉ nếu ...
Thuật toán tìm Phủ tối thiểu <ul><li>Bước 1  : </li></ul><ul><li>Loại khỏi F các PTH có vế trái dư thừa. </li></ul><ul><li...
Thuật toán tìm PTT – Ví dụ <ul><li>Input  : Q(ABCD), F = {AB  CD, B  C, C  D} </li></ul><ul><li>Output  : F m  = PTT củ...
Khóa (Key)  của lược đồ quan hệ <ul><li>Cho Q(A 1 ,A 2 ,…,A n ), tập PTH F, K là 1 tập con của Q + </li></ul><ul><li>Định ...
Thuật toán tìm khóa của LDQH <ul><li>Input  : Lược đồ quan hệ Q, tập PTH F </li></ul><ul><li>Output  :  K là 1 khóa của Q ...
Tính chất của khóa <ul><li>Ký hiệu  :  </li></ul><ul><li>Tập nguồn  (TN) : chứa tất cả các thuộc tính chỉ xuất hiện ở vế t...
Tính chất của khóa – Chứng minh <ul><li>Chứng minh TN    K : </li></ul><ul><li>Giả sử TN không    K, => tồn tại 1 PTH X ...
Tính chất của khóa – Chứng minh (t.t) <ul><li>Chứng minh TD    K =    : </li></ul><ul><li>Giả sử TD    K       =>   ...
Thuật toán tìm tất cả các khóa <ul><li>Bước 1  : Tạo tập TN, TG </li></ul><ul><li>Bước 2  : Nếu TG=   => Q chỉ có 1 khóa ...
Upcoming SlideShare
Loading in …5
×

Thiet Ke Co So Du Lieu5

2,507 views

Published on

cho phan 6 nua nha

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,507
On SlideShare
0
From Embeds
0
Number of Embeds
175
Actions
Shares
0
Downloads
246
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Thiet Ke Co So Du Lieu5

  1. 1. THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Designing) Phần V – PHỦ (Cover) CỦA TẬP PHỤ THUỘC HÀM
  2. 2. Một số định nghĩa <ul><li>Cho F, G là 2 tập phụ thuộc hàm, </li></ul><ul><li>F và G gọi là tương đương nếu và chỉ nếu F + =G + </li></ul><ul><li>Ký hiệu : F  G </li></ul><ul><li>F gọi là phủ G nếu và chỉ nếu </li></ul><ul><li>F +  G + </li></ul>2 tập Phụ thuộc hàm tương đương
  3. 3. Thuật toán kiểm tra F  G <ul><li>Bước 1 : Tính F + , G + </li></ul><ul><li>Bước 2 : Nếu F + = G + , => F  G </li></ul>Thuật toán kiểm tra F  G
  4. 4. Phủ tối thiểu (minimal cover) –Tập Phụ thuộc hàm không đầy đủ <ul><li>Cho lược đồ Q, tập PTH F, Z  Y  F. </li></ul><ul><li>Z  Y gọi là có vế trái dư thừa hay Y phụ thuộc không đầy đủ vào Z hay Z  Y là phụ thuộc hàm không đầy đủ nếu và chỉ nếu : </li></ul><ul><li> A  Z: F  (F {Z  Y})  {(Z-A)  Y} </li></ul><ul><li>Ngược lại, Z  Y gọi là phụ thuộc hàm đầy đủ hay không có vế trái dư thừa . </li></ul><ul><li>F được gọi (tắt) là có vế trái không dư thừa , nếu F không chứa PTH có vế trái dư thừa. </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.1)
  5. 5. Phụ thuộc hàm không đầy đủ - Ví dụ <ul><li>Cho Q(ABC), F={AB  C, B  C} </li></ul><ul><li>Xét AB  C : </li></ul><ul><li>F’ = F – {AB  C} = {B  C} </li></ul><ul><li>(AB-A)  C = {B  C} </li></ul><ul><li>=> F’ = (F – {AB  C})  {(AB-A)  C} = {B  C} </li></ul><ul><li>Tính (F’) + , ta có (F’) + = {AB  C,B  C} </li></ul><ul><li>Tính F + = F = {AB  C, B  C} </li></ul><ul><li>=> F + = (F’) + </li></ul><ul><li>=> AB  C là phụ thuộc hàm có vế trái dư thừa </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.2)
  6. 6. Thuật toán loại khỏi F các PTH không đầy đủ <ul><li>Bước 1 : Tính F + </li></ul><ul><li>Bước 2 : Duyệt tập F, với mọi d = X  Y  F : </li></ul><ul><li>Bước 2.1 : Duyệt các tập con X’  của X : </li></ul><ul><li>Nếu X’  Y  F + : thay X = X’, lặp lại 2.1 </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.3)
  7. 7. Tập phụ thuộc hàm có vế phải 1 thuộc tính <ul><li>Định nghĩa : F được gọi là tập phụ thuộc hàm có vế phải 1 thuộc tính nếu và chỉ nếu mọi phụ thuộc hàm trong F đều có vế phải chỉ 1 thuộc tính. </li></ul><ul><li>Ví dụ : F = {A  BC,B  C,AB  D}, ta tách các phụ thuộc hàm trong F để F thỏa tiêu chuẩn là tập phụ thuộc hàm có vế phải 1 thuộc tính : </li></ul><ul><li>F = {A  B, A  C, B  C, AB  D} </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.4)
  8. 8. Tập phụ thuộc hàm không dư thừa <ul><li>Định nghĩa : F được gọi là tập phụ thuộc hàm không dư thừa  </li></ul><ul><li>Không  F’  F, F’  F </li></ul><ul><li>Ngược lại, F được gọi là tập phụ thuộc hàm dư thừa. </li></ul><ul><li>Ví dụ : F = {A  BC, B  D, AB  D} </li></ul><ul><li>F dư thừa vì F  F’ = {A  BC, B  D} </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.5)
  9. 9. Thuật toán loại khỏi F các PTH dư thừa <ul><li>Duyệt từng PTH X  Y thuộc F : </li></ul><ul><li>Nếu (F-{X  Y}) |= X  Y thì F = F-{X  Y} </li></ul><ul><li>Ví dụ : F = {A  BC, B  D, AB  D} </li></ul><ul><li>Xét A  BC : {B  D, AB  D} không thể |= A  BC </li></ul><ul><li>Xét B  D : {A  BC, AB  D} không thể |= B  D </li></ul><ul><li>Xét AB  D : {A  BC,B  D} |= AB  D vì : </li></ul><ul><li>A  BC => A  B, do B  D => A  D => AB  D </li></ul><ul><li>Vậy AB  D là dư thừa trong F, => F = {A  BC,B  D} </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.6)
  10. 10. Tập PTH tối thiểu <ul><li>Định nghĩa : F được gọi là một tập PTH tối thiểu (hay F là 1 phủ tối thiểu ) nếu và chỉ nếu F thỏa 3 điều kiện sau : </li></ul><ul><li>F là tập PTH có vế trái không dư thừa. </li></ul><ul><li>F là tập PTH có vế phải 1 thuộc tính. </li></ul><ul><li>F là tập PTH không dư thừa. </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.7)
  11. 11. Thuật toán tìm Phủ tối thiểu <ul><li>Bước 1 : </li></ul><ul><li>Loại khỏi F các PTH có vế trái dư thừa. </li></ul><ul><li>Bước 2 : </li></ul><ul><li>Tách các PTH có vế phải nhiều hơn 1 thuộc tính thành các PTH có vế phải 1 thuộc tính. </li></ul><ul><li>Bước 3 : </li></ul><ul><li>Loại khỏi F các PTH dư thừa. </li></ul><ul><li>Luôn tìm được ít nhất 1 PTH tối thiểu của 1 tập PTH bất kỳ. </li></ul><ul><li>Có thể tìm được nhiều PTH tối thiểu của 1 tập PTH bất kỳ. </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.8)
  12. 12. Thuật toán tìm PTT – Ví dụ <ul><li>Input : Q(ABCD), F = {AB  CD, B  C, C  D} </li></ul><ul><li>Output : F m = PTT của F </li></ul><ul><li>Bước 1 : </li></ul><ul><li>AB  CD là PTH không đầy đủ, vì A là dư thừa trong vế trái: B  C, C  D => B  CD. </li></ul><ul><li>=> F = {B  CD, B  C, C  D} </li></ul><ul><li>Bước 2 : </li></ul><ul><li>F = {B  C, B  D, B  C, C  D} </li></ul><ul><li>Bước 3 : </li></ul><ul><li>F = {B  C, C  D} </li></ul>Phủ tối thiểu của 1 tập phụ thuộc hàm (p.9)
  13. 13. Khóa (Key) của lược đồ quan hệ <ul><li>Cho Q(A 1 ,A 2 ,…,A n ), tập PTH F, K là 1 tập con của Q + </li></ul><ul><li>Định nghĩa : K là 1 siêu khóa của Q nếu </li></ul><ul><ul><li>K F + = Q + </li></ul></ul><ul><li>Định nghĩa : K là 1 khóa của Q nếu </li></ul><ul><ul><li>K F + = Q + </li></ul></ul><ul><ul><li>Không tồn tại K’  K , K’ F + = Q + </li></ul></ul>Khóa của lược đồ quan hệ (p.1)
  14. 14. Thuật toán tìm khóa của LDQH <ul><li>Input : Lược đồ quan hệ Q, tập PTH F </li></ul><ul><li>Output : K là 1 khóa của Q </li></ul><ul><li>Bước 1 : gán K = Q + </li></ul><ul><li>Bước 2 : Duyệt các thuộc tính A trong K, </li></ul><ul><li>_ Tính K’ + với K’ = K-A </li></ul><ul><li>_ Nếu K’ + = Q + , gán K = K’ </li></ul><ul><li> Khóa K tìm được có thể không là khóa duy nhất của Q </li></ul>Khóa của lược đồ quan hệ (p.2)
  15. 15. Tính chất của khóa <ul><li>Ký hiệu : </li></ul><ul><li>Tập nguồn (TN) : chứa tất cả các thuộc tính chỉ xuất hiện ở vế trái của các PTH trong F. </li></ul><ul><li>Tập đích (TD) : chứa tất cả các thuộc tính chỉ xuất hiện ở vế phải của các PTH trong F. </li></ul><ul><li>Tập trung gian (TG) = Q + - TN – TD </li></ul><ul><li>Tính chất : Nếu K là 1 khóa của Q, thì </li></ul><ul><li>TN  K và TD  K =  </li></ul>Khóa của lược đồ quan hệ (p.3)
  16. 16. Tính chất của khóa – Chứng minh <ul><li>Chứng minh TN  K : </li></ul><ul><li>Giả sử TN không  K, => tồn tại 1 PTH X  Y  F và X không  K và không tồn tại 1 PTH Z  V  F sao cho X  V </li></ul><ul><li>Dựa trên thuật toán tìm bao đóng của tập thuộc tính K => X không xuất hiện trong K i nào => X  K + F => trái với giả thiết (K là khóa, nên X  K + F ) </li></ul>Khóa của lược đồ quan hệ (p.4)
  17. 17. Tính chất của khóa – Chứng minh (t.t) <ul><li>Chứng minh TD  K =  : </li></ul><ul><li>Giả sử TD  K   =>  A: A  TD  A  K </li></ul><ul><li>A  TD => tồn tại 1 PTH X  A  F (1) </li></ul><ul><li>A  K => K + =(K-A) +  A ; </li></ul><ul><li>X  K +  X  (K-A) +  A ; </li></ul><ul><li>A  X vì X  A không là PTH hiển nhiên (xem slide 4 chương 4) => X  (K-A) + => K-A  X (2) </li></ul><ul><li>(1) và (2) => K-A  A => (K-A) + = [(K-A)  A] + =K + => vô lý vì K là khóa. </li></ul>Khóa của lược đồ quan hệ (p.5)
  18. 18. Thuật toán tìm tất cả các khóa <ul><li>Bước 1 : Tạo tập TN, TG </li></ul><ul><li>Bước 2 : Nếu TG=  => Q chỉ có 1 khóa K = TN, kết thúc thuật toán. </li></ul><ul><li>Bước 3 : Tìm tất cả tập con X i của TG, đặt S i =TN  X i , tính S i + . Gọi L là tập tất cả các S i </li></ul><ul><li>Bước 4 : Duyệt tập S i , nếu S i + <>Q + thì bỏ S i khỏi L. </li></ul><ul><li>Bước 5 : Với mọi S k ,S l  L, nếu S k  S l thì bỏ S k khỏi L. </li></ul><ul><li> Tập L còn lại chính là tập tất cả các khóa của Q. </li></ul>Khóa của lược đồ quan hệ (p.6)

×