Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
184,7 KB
Nội dung
BÀI 12: PHỦCỦATẬPPHỤTHUỘCHÀM 12.1: Định nghĩa tương đương Định lý: Cho F là tập các phụthuộchàm trên U và f là một phụthuộchàm trên U, khi đó 2 việc sau tương đương (1)F├f (2)F╞f Tức là, phụthuộchàm f được suy dẫn từ F theo quan hệ khi và chỉ khi nó được suy dẫn từ F theo hệ tiên đề Amstrong. 1 12.2: Các tậpphụthuộchàm tương đương Cho F và G là hai tậpphụthuộchàm trên tậpthuộc tính U, ta nói rằng tậpphụthuộchàm F tương đương với tậpphụthuộchàm G nếu và chỉ nếu F+ =G+. Nếu F+ =G+ thì ta nói F là phủcủa G và ngược lại G là phủcủa F. *Thuật toán xác định F và G có tương đương hay không? Bước 1: Với mỗi phụthuộchàm X→Y của F ta xác định xem X→Y có được suy dẫn từ G không? Bước 2: Với mỗi phụthuộchàm X→ Y của G ta xác định xem X→Y có được suy dẫn từ F không? Nếu cả hai bước trên đều đúng thì F≡G. 2 Ví dụ: Cho lược đồ quan hệ có: F={A→BC, A→D, CD→E} G={A→BCE, A→ABD, CD→E} a) F có tương đương với G không? b) F có tương đương với G’={A→BCDE} không? a) Ta có AG+ = ABCDE => Trong G+có A→BC và A→D => F⊆ G+=> F+ ⊆ G+(1) AF+= ABCDE => trong F+có A→ BCE và A→ABD =>F+⊇G => F+ G+(2) Từ (1)và (2)=>F+ = G+ =>F+ ≡ G+ b) Do (CD)+ =CD=> G không chứa phụthuộchàm CD→E => F không tương đương với G+ 3 12.3: Phụthuộchàm không dư thừa 12.3.1: Phụthuộchàm dư thừa Cho F là tập các phụthuộchàm trêu U, f là một phụthuộchàmcủa F tức là f ∈ F, f được gọi là dư thừa trong F nếu như (F-f)+ = F+. Hay có thể nói tương đương f được gọi là dư thừa trong F nếu nó suy dẫn được từ tập F sau khi đã bỏ đi phụthuộchàm f. 4 * Thuật toán xác định f= X→Y có phải là thành viên của F hay không? Bước 1: Tạm xóa f khỏi F, gọi G là tập thu được G=F-f, nếu G≠ ∅ thì chuyển qua bước 2, còn không thì kết thúc thuật toán và kết luận f là không dư thừa trong F. Bước 2: Giả sử f = X→Y nếu G├f tứcY⊆ XG+ thì f là dư thừa trong F còn ngược lại f là không dư thừa(là thành viên). Hay Bước 1: Tính Bước 2: So sánh X+ với Y nếuX+ ⊇ Y ta khẳng định X→Y là thành viên của F. 5 Ví dụ: Cho F={AB→C, C→D, AB→D} Cho biết AB→D có dư thừa trong F hay không? Bước 1: G = F-{f} = {AB→C,C→D} Bước 2: (AB)G+= AB ∪ C = ABC ∪ D = ABCD ⊇ D ⇒ G├ f ⇒ f không là thành viên của F hay f dư thừa trong F. 6 12.3.2: Phủ không dư Cho F và G là 2 tậpphụthuộchàm trên U, F được gọi là phủ không dư của G khi và chỉ khi + F+ = G+ (F là phủcủa G) +∀f ∈F thì (F-f)+ ≠ F (tức mọi phụthuộchàm trong F đều không dư thừa) Định lý: Mọi tậpphụthuộchàm đều tồn tại phủ không dư. 7 12.4: Phủ thu gọn 12.4.1: Phụthuộchàm có vế trái dư thừa F là tập các phụthuộchàm trên lược đồ quan hệ Q, Z là tậpthuộc tính, Z→Y∈ F. Nói rằng phụthuộchàm Z→Y có vế trái dư thừa ( phụthuộc không đầy đủ ) nếu có một A ∈ Z sao cho: F=F-{Z→Y}∪ {(Z-A)→Y} Ngược lại Z→Y là mọt phụthuộchàm có vế trái không dư thừa hay Y phụthuộchàm đầy đủ vào Z hay phụthuộchàm đầy đủ. Chú ý: Phụthuộchàm có vế trái chứa một thuộc tính là phụthuộchàm đầy đủ. 8 * Thuật toán loại khỏi F các phụthuộchàm có vế trái dư thừa Bước 1: Lần lượt thực hiên bước 2 cho các phụthuộchàm Z→Y của F (với các phụthuộchàm có vế trái có từ 2 thuộc tính trở lên). Bước 2: Với mỗi tập con thật sự của X, Nếu X+→Y ∈ F+ thì thay X→Y trong F bằng X+→Y thực hiện lại bước 2. 9 12.4.2: Tậpphụthuộchàm có vế phải một thuộc tính Mỗi tậpphụthuộchàm F đều tương đương với một tậpphụthuộchàm G mà vế phải của các phụthuộchàm trong G chỉ gồm một thuộc tính. Ví dụ: F={A→BC, B→C, AB→D} ta suy ra F={A→B, A→C, B→C, AB→D} = G 10 [...]... cho các phụthuộchàm tiếp theo của F 12 12.4 .4: Tậpphụthuộchàm tối thiểu F được gọi là một phụthuộchàm tối thiểu (phủ tối thiểu) nếu F thỏa mãn đồng thời ba điều kiên sau: 1 F là tập phụthuộchàm có vế trái không dư thừa 2 F là tậpphụthuộchàm có vế phải một thuộc tính 3 F là tậpphụthuộchàm không dư thừa Trong đó, điều kiện 1 và 2 có thể thay đổi vị trí cho nhau 13 *Thuật toán tìm phủ tối... thiểu của một tậpphụthuộchàm Bước 1: Loại bỏ khỏi F các phụthuộchàm có vế trái dư thừa Bước 2: Tách các phụthuộchàm có vế phải trên một thuộc tính thành các phụthuộchàm có vế phải một thuộc tính Bước 3: Loại bỏ khỏi F các phụthuộchàm dư thừa 14 Ví dụ: Cho lược đồ quan hệ Q(A, B, C, D) và tập phụthuộchàm F như sau F={AB →CD, B →C, C→ D} Hãy tính phủ tối thiểu của F? Bước 1: AB →CD là phụ thuộc. . .12.4 .3: Tập phụthuộchàm không dư thừa (phủ không dư) Nói rằng F là tập phụthuộchàm không dư thừa nếu không tồn tại F’ ⊂ F sao cho F’ ≡ F Ngược lại, F là tậpphụthuộchàm dư thừa Ví dụ: Cho F={A → BC, B → D, AB → D} thì F dư thừa vì F’-F = {A → BC, B → D} 11 * Thuật toán loại khỏi F các phụthuộchàm dư thừa Bước 1: Lần lượt xét các phụthuộchàm X → Y của F Bước 2: Nếu X → Y là thành viên của. .. đồ quan hệ α=(U,F), thuộc tính A trong U được gọi là thuộc tính tiền định nếu như A có mặt ở vế phải của một phụthuộchàm bất kỳ thì A cũng phải xuất hiện ở vế trái củaphụthuộchàm đó hoặc thuộc tính A không xuất hiện ở bất cứ phụthuộchàm nào Định lý 1: Cho lược đồ quan hệ α=(U,F), gọi N={∪ (Ri -Li )| Li ⊆ Iα} khi đó N ⊆ Nα (hay N là tập chứa một số các phần tử không khóa của lược đồ ) 25 Định... chưa phải là khóa thì có K1 là tập con thực sự của K và lớn nhất của K và K1 là siêu khóa, thay K bằng K1 và quay trở lại bước 2 23 14.3.3: Giao của tất cả các khóa Ký hiệu Iα là tập mà mỗi phần tử của nó tham gia vào tất cả các khóa của lược đồ hay Iα là giao của tất cả các khóa của lược đồ Ký hiệu Nα là tập mà mỗi phần tử của nó không tham gia vào bất cứ một khóa nào của lược đồ Ký hiệu Sα ={U\∪ (Ri... thuộchàm có vế trái dư thừa? B →CD ∈ F+? Trả lời: B+ = BCD => B →CD ∈ F+ Vậy AB →CD là phụthuộchàm có vế trái dư thừa A ⇒Kết quả của bước 1 là: F={B →CD, B →C, C→ D} Bước 2: Kết quả của bước 2 là: F={B →D, B →C, C→ D} = F1tt 15 Bước 3: Trong F1tt , B→C là phụthuộchàm dư thừa? B→C ∈ G+ ? với G= F1tt -{B→C} = {B→D, C→D} BG+= BD => B→C ∈ G+ => trong F1tt ,B→C không dư thừa Trong F1tt , B→D là phụ thuộc. .. ,,L=∪ Li )| ∀ Li →Ri∈F} (N” là tập tất cả các thuộc tính chỉ xuất hiện ở vế phải mà không xuất hiện ở vế trái của các tậpphụthuộc hàm) thì N” ⊆ Nα 26 14.3.4: Thuật toán tìm giao của tất cả các khóa Giao của tất cả các khóa được tìm theo công thức: Iα ={U\ (Ri - Li)} 27 14.3.5: Thuật toán kiểm tra 1 lược đồ đã cho có một hay nhiều khóa? Bước 1: Tìm giao của tất cả các khóa của lược đồ Iα Bước 2: Nếu... tất cả các khóa của lược đồ quan hệ *Thuật toán 1: Bước 1: Xác định tất cả các tập con khác rỗng của Q+ Kết quả tìm được giả sử là các tậpthuộc tính X1, X2, …, X2n -1 Bước 2: Tìm bao đóng của các X1 Bước 3: Siêu khóa là các X1 có bao đóng đúng bằng Q+ Giả sử ta đã có các siêu khóa là S = {S1, S2,…,Sm} Bước 4: Xây dựng tập chứa tất cả các khóa của Q từ tập S bằng cách xét mọi Si, Sj con của S(i ≠j), nếu... siêu khóa K của lược đồ Ta có thể tìm siêu khóa K của lược đồ theo các bước sau: Đặt L=∪ Li |∀Li →Ri ∈ F Đặt R=∪ Ri |∀Li →Ri ∈ F Đặt K = U\R ∪ L thì K là một siêu khóa *Nhận xét: Khi đã có một siêu khóa nếu ta bỏ đi một số thuộc tính ta sẽ thu được một khóa 20 14.2: Họ Sperner và khóa Nếu gọi Kα là tập tất cả các khóa của lược đồ α=(U,F), như vậy mỗi phần tử của Kα là một tậpthuộc tính và các tập hợp... tử của M là không bao nhau Nhận xét: Tập hợp Kα tất cả các khóa của lược đồ là 1 họ Sperner trên U 21 14.3: Một số vấn đề về khóa 14.3.1: Kiểm tra một tập cho trước có phải là khóa hay không? Cho K ⊆ U hỏi rằng K có phải là khóa hay không? Cách làm: Tính +)Nếu U thì K không là khóa của lược đồ +)Nếu K+=U chứng tỏ K là một siêu khóa Để kiểm tra K có phải là khóa không ta lấy mọi tập con thực sự của . 12. 4.2: Tập phụ thuộc hàm có vế phải một thuộc tính Mỗi tập phụ thuộc hàm F đều tương đương với một tập phụ thuộc hàm G mà vế phải của các phụ thuộc hàm. BÀI 12: PHỦ CỦA TẬP PHỤ THUỘC HÀM 12. 1: Định nghĩa tương đương Định lý: Cho F là tập các phụ thuộc hàm trên U và f là một phụ thuộc hàm trên U,