BAO ĐÓNG CỦA TẬP THUỘCTÍNH X (closures of attribute sets)

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Nghề: Công nghệ thông tin - Cao đẳng) - Trường CĐ Nghề Công nghiệp Thanh Hóa (Trang 62 - 67)

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 XY 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)  XA  AX+  X++  X+. áp dụng 1X++  X+ ... 7. X  A1 và X A2 X  A1A2 .... 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 YZ 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: ACD }

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 XX0

Theo tính phản xạ của hệ luật dẫn thì X X theo thuật toán thì X0 = X 

XX0

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)  XXi-1Yj = Xi

 XXi

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+ 

XY.

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  XY 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: AD, AB D, CBDE, EA, AE

Bài 6: 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 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, 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.

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;AGI; BEI; EG; GI H}. Chứng minh rằng AB  GH. b. F={ABC; BD; CDE; CEGH; GA}. Chứng minh rằng AB E; ABG.

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: AB, f3 : AC, f4 : ACC, f5 : AD, f6 : DA

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

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Nghề: Công nghệ thông tin - Cao đẳng) - Trường CĐ Nghề Công nghiệp Thanh Hóa (Trang 62 - 67)

Tải bản đầy đủ (PDF)

(109 trang)