CHƢƠNG 4 : PHỤC THUỘC HÀM
3. BAO ĐÓNG CỦA TẬP THUỘCTÍNH X (closures of attribute sets)
a. Định nghĩa
Q là lƣợc đồ quan hệ, r là quan hệ tƣơng ứng, F là tập các phụ thuộc hàm trong Q. X, Ai là các tập con của Q+. Bao đóng của tập thuộc tính X đối với F ký hiệu là X+ ( hoặc X +
F ) đƣợc định nghĩa nhƣ sau:
X+ =Ai với X Ai là phụ thuộc hàm đƣợc suy diễn từ F nhờ hệ tiên đề Armstrong
Tính chất:
+ Bao đóng của Q là Q+
b. Các tính chất của bao đóng
Nếu X, Y là các tập con của tập thuộc tính Q+ thì ta có các tính chất sau đây: 1. Tính phản xạ: X X+
2. Tính đơn điệu: Nếu XY thì X+ Y+ 3. Tính lũy đẳng: X+ + = X+ 4. (XY)+ X+ Y+ 5. (X+Y)+ = (XY+)+ = (X+Y+)+ 6. X Y Y+ X+ 7. X X+ và X+ X 8. X+ = Y+ X Y và Y X Chứng minh
63 1. X X X+ X 2. A X+X A Y A A Y+ 3. A X++ X+A và X X+ (áp dụng 8) XA AX+ X++ X+. áp dụng 1X++ X+ ... 7. X A1 và X A2 X A1A2 .... X Ai = X+ X+ X X+ X (Phụ thuộc hàm hiển nhiên)
...
c. Thuật toán tìm bao đóng
Tính liên tiếp tập các tập thuộc tính X0, X1, X2,... theo phƣơng pháp sau:
Bƣớc 1: X0 = X
Bƣớc 2: lần lƣợt xét các phụ thuộc hàm của F
Nếu YZ có Y Xi thì Xi+1 = Xi Z Loại phụ thuộc hàm Y Z khỏi F
Bƣớc 3: Nếu ở bƣớc 2 không tính đƣợc Xi+1 thì Xi chính là bao đóng của X
Ngƣợc lại lặp lại bƣớc 2 Ví dụ 4.5:
Cho lƣợc đồ quan hệ Q(ABCDEGH) và tập phụ thuộc hàm F
F = { f1: B A; f2: DA CE; f3: D H; f4: GH C; f5: ACD }
Tìm bao đóng của các tập X = {AC} dựa trên F. Giải:
Bƣớc 1: X0 = AC
Bƣớc 2: Do f1, f2, f3, f4 không thỏa. f5 thỏa vì X+AC X1 = AC D = ACD
Lập lại bƣớc 2: f1 không thỏa, f2 thỏa vì X1 AD: X2 = ACD CE = ACDE
f3 thỏa vì X2 D
X3 = ACDE H = ACDEH
f4 không thỏa, f5 không xét vì đã thỏa
Lập lại bƣớc 2: f2, f3 không xét vì đã thỏa, f1, f4 không thỏa, f5 không xét vì đã thỏa. Trong bƣớc này X3 không thay đổi => X+
=X3={ACDEH} là bao đóng của X.
Ví du 4.6:
Cho lƣợc đồ quan hệ Q(A,B,C,D,E,G) và tập phụ thuộc hàm F F = {f1: A C; f2: A EG; f3: B D; f4: G E}
X = {A,B}; Y = {C,G,D}
Kết quả:
X+ = {ABCDEG} Y+ = {CGDE}
d. Định lý
64
Chứng minh
1. Ta chứng minh Xi X+ bằng phƣơng pháp qui nạp. Bƣớc cơ sở chứng minh XX0
Theo tính phản xạ của hệ luật dẫn thì X X theo thuật toán thì X0 = X
XX0
Vậy X0 X+
Bƣớc qui nạp giả sử có X Xi-1 (1) ta phải chứng minh X Xi
Theo thuật toán tìm bao đóng thì có fj = Xj Yj để Xi-1 Xj và Xi = Xi-1 Yj
Xi-1 Yj (2).(1)và (2)X Yj (3) (1) và (3) XXi-1Yj = Xi
XXi
Vậy Xi X+
2. Ta chứng minh A X+A Xi để kết luận Xi X+
A X+ nên có một phụ thuộc hàm X A. Theo thuật toán tìm bao đóng thì
X Xi A Xi
e. Hệ quả
1. Q là lƣợc đồ quan hệ. F là tập phụ thuộc hàm, A là thuộc tính chỉ xuất hiện ở vế phải của các phụ thuộc hàm trong F thì X+
= (X – A)+ A 2. Q là lƣợc đồ quan hệ. F là tập phụ thuộc hàm, X là tập con của Q+
và Y = {các thuộc tính xuất hiện ở vế phải của các phụ thuộc hàm trong F} thì X+
XY.
Chứng minh
1. Theo thuật toán tìm bao đóng thì bao đóng X+
hay (X-A)+ đƣợc hình thành qua một số bƣớc.
Ta chứng minh biểu thức X+
= (X – A)+ A theo qui nạp. Bƣớc cơ sở: X0 = X, (X-A)0 = X - A X0 =(X - A)0 A đúng
Bƣớc qui nạp: giả sử ta có Xi-1 =(X - A)i-1 A. Bao đóng Xi đƣợc hình thành do có fj = Xj Yj để:
Xi-1 Xj và Xi = Xi-1 Yj = (X - A)i-1 A Yj (1). Sự hình thành Xi luôn kéo theo sự hình thành (X-A)i vì:
Xi-1 = (X - A)i-1 A Xj do Xj không chứa A nên: (X - A)i-1 Xj vậy (X - A)i = (X - A)i-1 Yj (2) (1) và (2) cho:
Xi = (X - A)i A là điều phải chứng minh 2. Bƣớc cơ sở: X0 = X X0 X Y
Bƣớc qui nạp: giả sử có Xi-1 XY ta chứng minh Xi X Y. Bao đóng Xi đƣợc hình thành do có fj = Xj Yj để:
Xi-1 Xj và Xi = Xi-1 Yj X Y Yj do Yj là vế phải của phụ thuộc hàm nên Y Yj = Y vậy Xi X Y
65
BÀI TẬP:
Bài 1: Vì sao các quy tắc suy diễn Amstrong (Qt1 đến Qt3) là quan trọng?
Bài 2: Phụ thuộc hàm là gì? Việc chỉ ra phụ hàm giữa các thuộc tính của một lƣợc
đồ quan hệ dựa trên cơ sở nào?
Bài 3: Bao đóng của 1 tập phụ thuộc hàm là gì? Khi nào hai tập phụ thuộc hàm là
tƣơng đƣơng? Làm thế nào để kiểm tra tính tƣơng đƣơng của chúng?
Bài 3: Tập tối thiểu của các phụ thuộc hàm là gì?Có phải mỗi tập phụ thuộc hàm
có một tập tối thiểu phụ thuộc hàm tƣơng đƣơng hay không?
Bài 4: Cho lƣợc dồ quan hệ Q(ABCDE), r là quan hệ xác định trên Q đƣợc cho
nhƣ sau: A B C D E a1 b1 c1 d1 e1 a1 b2 c2 d2 e1 a2 b1 c3 d3 e1 a2 b1 c4 d3 e1 a3 b2 c3 d1 e1
- Những phụ thuộc hàm nào sau đây thoả r ? A D; AB D; E A; A E;
Bài 5: 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: AD, AB D, CBDE, EA, AE
Bài 6: Cho F = {AB C, BD, CDE, CEGH, GA}
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 toá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})
Bài 7: Cho F={AB E, AGI, BEI, EG, GIH}.
a. Hãy chứng tỏ phụ thuộc hàm ABGH đƣợc suy diễn từ F nhờ luật dẫn Armstrong.
66 b. Tìm bao đóng của {AB}.
Bài 8: Cho lƣợc đồ quan hệ Q và tập phụ thuộc hàm F
a. F={AB E;AGI; BEI; EG; GI H}. Chứng minh rằng AB GH. b. F={ABC; BD; CDE; CEGH; GA}. Chứng minh rằng AB E; ABG.
Bài 9: Cho lƣợc đồ quan hệ Q và tập phụ thuộc hàm F
a. F={AB E, AG I,BE I, E G,GI H}. CMR AB GH b.F={AB C, B D, CD E, CE GH ,G A}. CMR AB EG.
Bài 10: Cho lƣợc đồ quan hệ R={A,B,C,D} và F={A->B, BC->D, C->A}. Phụ
thuộc hàm nào trong các phụ thuộc hàm sau là suy diễn đƣợc từ F:
a. C->D b. AC->D c. AD->C d. BC->A e. B->CD
Bài 11: Cho lƣợc đồ quan hệ R={A,B,C,D,E,G,H} và phụ thuộc hàm F nhƣ sau:
F={AB->C, B->D, CD->E, CE->GH, G->A}. Sử dụng các quy tắc suy diễn ,chứng minh rằng BC->A.
Bài 12: Cho lƣợc đồ quan hệ R{S,I,D,M} và tập phụ thuộc hàm F nhƣ sau:
F={SI->DM, SD->M, D->M}. a. Tìm tất cả các khóa của R? b. Tìm phủ tối thiểu của F?
Bài 13: Cho quan hệ R (A, B, C, D) nhƣ sau:
R(A B C D) a 1 x 2 a 1 y 2 b 2 x 1 b 2 y 1
Hãy cho biết R thỏa những phụ thuộc hàm nào trong số các phụ thuộc hàm liệt kê dƣới đây.
f1: A A, f2: AB, f3 : AC, f4 : ACC, f5 : AD, f6 : DA
Bài 14: Cho lƣợc đồ quan hệ R(A,B,C,D,E,F,G,H,I,J) và tập phụ thuộc hàm sau
đây: F1 = {AB C, A DE, B F, F GH, D IJ} a. Tính bao đóng của các tập thuộc tính sau trên F1: AC, AF
b. Các phụ thuộc hàm sau có đƣợc suy dẫn từ F1 hay không? AB→H, A→J, AB→I.
c. Tìm tất cả các khóa của lƣợc đồ quan hệ. d. Tìm phủ tối thiểu của tập phụ thuộc hàm F1.
e. Xác định dạng chuẩn cao nhất của lƣợc đồ quan hệ. f. Hãy phân rã lƣợc đồ quan hệ R thành dạng chuẩn 3NF.
67