1 Thuật tốn cơ bản
Để tính bao đĩng F+ của tập các phụ thuộc hàm F ta thực hiện các bước sau: Bước 1: Tìm tất cả tập con của Q+
Bước 2: Tìm tất cả các phụ thuộc hàm cĩ thể cĩ của Q. Bước 3: Tìm bao đĩng của tất cả tập con của Q.
Bước 4: Dựa vào bao đĩng của tất cả các tập con đã tìm để xác định phụ thuộc hàm nào thuộc F+
Ví dụ 3:
Cho lược đồ quan hệ Q(A,B,C) F = {AB → C,C → B} là tập phụ thuộc hàm trên Q. F+ được tính lần lượt theo các bước trên là như sau:
Bước 1: Các tập con của Q+
∅ A B C
∅ {A} {B} {C}
{A,B} {A,C}
{B,C} {A,B,C}
Bước 2: các phụ thuộc hàm cĩ thể cĩ của F (khơng kê các phụ thuộc hàm hiển nhiên)
A→B A→BC B→C AB→C∈F C→A C→BC∈F+ AC→BC∈F+ BC→AC A→AB A→ABC B→AC AB→AC∈F+ C→B∈F C→ABC AC→ABC∈F+ BC→ABC A→C B→A B→BC AB→BC∈F+ C→AB AC→B∈F+ BC→A
A→AC B→AB B→ABC AB→ABC∈F+ C→AC AC→AB∈F+ BC→AB
Bước 3: bao đĩng của các tập con của Q đối với F ∅+
=∅ A+ = A C+ = BC ABC+ =ABC B+ = B AC+ = ABC
AB+ = ABC BC+ = BC
Bước 4: F = {AB → C,C → B} suy ra:
F+ = {AB→C,AB→AC,AB→BC,AB→ABC,C→B,C→BC,AC→B,AC→AB,AC→BC,AC→ABC}
2 Thuật tốn cải tiến
Dựa vào thuật tốn cơ bản trên, ta nhận thấy cĩ thể tính F+ theo các bước sau: Bước 1: Tìm tất cả tập con của Q+
Bước 2: Tìm bao đĩng của tất cả tập con của Q+.
Bước 4: Dựa vào bao đĩng của các tập con đã tìm để suy ra các phụ thuộc hàm thuộc F+.
Ví dụ bao đĩng A+ = A chỉ gồm các phụ thuộc hàm hiển nhiên
bao đĩng {AB}+ = ABC cho các phụ thuộc hàm khơng hiển nhiên sau
AB→C,AB→AC,AB→BC,AB→ABC
(Tìm tất cả các tập con của {ABC} rồi bỏ các tập con của {AB})
Các tập con của {ABC} là: ∅, {A},{B},{AB},{C},{AC},{BC},{ABC}
Bỏ các tập con của {AB} là: ∅, {A},{B},{AB},{C},{AC},{BC},{ABC}
IV BÀI TẬP
1/ Cho quan hệ sau:
r( A B C D E) a1 b1 c1 d1 e1 a1 b2 c2 d2 d1 a2 b1 c3 d3 e1 a2 b1 c4 d3 e1 a3 b2 c5 d1 e1
Phụ thuộc hàm nào sau đây thỏa r:
A→D,AB→D,C→BDE,E→A,A→E
2/ Cho Q+={ABCD}
a) Tìm tất các các tập con của Q
b) Tìm tất cả các phụ thuộc hàm cĩ thể cĩ của Q (khơng liệt kê phụ thuộc hàm hiển nhiên) 3/ Tìm bao đĩng F+ của quan hệ phanCong(PHICONG,MAYBAY,NGAYKH,GIOKH)
4/ Cho F = {AB→C,B→D,CD→E,CE→GH,G→A}
a) Hãy chứng tỏ phụ thuộc hàm AB→E,AB→G được suy diễn từ F nhờ luật dẫn Armstrong b) Tìm bao đĩng của AB(với bài tốn khơng nĩi gì về lược đồ quan hệ Q ta ngầm hiểu Q+ là tập
thuộc tính cĩ trong F nghĩa là Q+={ABCDEGH})
5/ Cho F = {A→D,AB→DE,CE→G,E→H}. Hãy tìm bao đĩng của AB.
6/ Cho F={AB→E,AG→I,BE→I,E→G,GI→H}.
a) Hãy chứng tỏ phụ thuộc hàm AB→GH được suy diễn từ F nhờ luật dẫn Armstrong b) Tìm bao đĩng của {AB}
7/ Cho F={A→D,AB→E,BI→E,CD→I,E→C} tìm bao đĩng của {AE}+={ACDEI}
Chương 5 .
PHỦ CỦA TẬP PHỤ THUỘC HÀM