Thuật tốn 4: Tìm ph

Một phần của tài liệu Bài giảng cơ sở dữ liệu (Trang 38)

Thuật tốn 4: Tìm phủủttốốii thithiểểuucủa một tập phụ thuộc hàm

Thuật tốn 4: Tìm phủủttốốii thithiểểuucủa một tập phụ thuộc hàm B.1.Biếnđổi F vềdạng F1={LiAj}

trongđĩ Ajlà 1 thuộc tính bất kỳthuộc U (thoảmãnđk1)

B.2.Loại bỏthuộc tính thừa trong vếtrái của các phụthuộchàm hàm

Lần lượt giảnước từng thuộc tính trong vếtrái của từng

25Lần lượt giảnước từng thuộc tính trong vếtrái của từng Lần lượt giảnước từng thuộc tính trong vếtrái của từng phụthuộc hàm trong F1thuđược F1’. Nếu F1’F1thì loại bỏthuộc tínhđang xét

Khi khơng cĩ sựgiảnước nào xảy ra nữa ta thuđược F2thỏa mãnđk2

B.3.Loại bỏphụthuộc hàm dưthừa

Lần lượt kiểm tra từng phụthuộc hàm f. Nếu F2\ fF2 thì loại bỏf

Khi khơng cịn phụthuộc hàm nào cĩ thểloại bỏthì thuđươc F3thoảmãnđk3 B.4.Fc= F3 Ví dụ 1 Ví dụ 1 • U = {A,B,C} F = {ABC, BC, AB, ABC}. Tìm phủ tối thiểu của F? – F1 = {AB, AC, BC, ABC}

– Xét các pth trong F mà vếtrái cĩ nhiều hơn 1

26

– Xét các pth trong F1mà vếtrái cĩ nhiều hơn 1 thuộc tính ABC. Giảnước A thì ta cịn BC cĩ trong F1, vậy A là thuộc tính thừa. Tương tựta cũng tìmđược B là thừa, vậy loại bỏluơn ABC khỏi F1.F2= {AB, AC, BC} – Bỏ pth thừa: AC là thừa. Vậy Fc = {AB, BC} Ví dụ 2 Ví dụ 2 • Tìm phủtối thiểu của tập phụthuộc hàm F = {AB, ABCDE, EFG, ACDFEG}

– F1 = {AB, ABCDE, EFG, ACDFE, ACDFG}

Loại bỏ thuộc tính thừa trong 3 phụ thuộc hàm ABCDE, ACDFE và ACDFG

27

Xét ABCDE: Giả sử giản ước A , ta cịn BCDE, kiểm tra BCDE cĩ được suy ra từ F1 khơng, ta tính (BCD)+ (đối với F1). (BCD)+ = BCD, khơng chứa E, vậy thì BCDE khơngđược suy diễn ra từF, vậy A khơng phải là thuộc tính thừa trong pthđang xét. B là thừa vì từF1 ta cĩ AB dẫnđến (ACD)+= ABCDE cĩ chứa E Làm tương tựta thấy khơng cĩ thuộc tính nào là thừa nữa. F2 = {AB, ACDE, EFG, ACDFE, ACDFG}

Ví dụ 2 (tiếp)Ví dụ 2 (tiếp) Ví dụ 2 (tiếp)

Loại bỏpth thừa trong F2: Lần lượt thửloại bỏ

1 pth ra khỏi F2, nếu tập pth thuđựoc sau khi loại bỏvẫn tươngđương với F2 thì pth vừa loại là thừa

AB khơng thừa vì nếu loại pth này khỏi F2 thì từtập phụthuộc hàm cịn lại A+ khơng chứa B Tương tự, ACDE, EFG khơng thừa

28

Tương tự, ACDE, EFG khơng thừa

ACDFE là phụthuộc hàm thừa vì nếu loại bỏ

pth này, trong tập pth vẫn cịn lại ACDE, theo tiênđềtăng trưởng ta sẽsuy rađược ACDFE ACDFG là thừa vì nếu loại bỏpth này, trong tập pth cịn lại vẫn cĩ ACDE và EFG, dođĩ ta vẫn cĩ (ACDF)+= ACDEFG cĩ chứa G – Vậy Fc = { AB, ACDE, EFG} Phép tách các Sơ đồ quan hệ Phép tách các Sơ đồ quan hệ • Mục đích

– Thay thế một sơ đồ quan hệR(A1, A2, …, An) bằng một tập các sơ đồ con {R1, R2, …, Rk} trongđĩ Ri R và R = R1U R2U … U R 29 U Rk • Yêu cầu của phép tách – Bảo tồn thuộc tính, ràng buộc – Bảo tồn dữ liệu

Phép tách khơng mất mát thơng tinPhép tách khơng mất mát thơng tin Phép tách khơng mất mát thơng tin

• Đ/N: Cho lược đồ quan hệ R(U) phép tách R thành các sơ đồcon {R1, R2, …, Rk}được gọi là

phép tách khơng mất mát thơng tinđ/vmột tập phụthuộc hàm F nếu với mọi quan hệr xácđịnh trên R thỏa mãn F thì:

r =R1(r)R2(r) … Rk(r)

30• Ví dụ:Phép táchmất mátthơng tin • Ví dụ:Phép táchmất mátthơng tin (adsbygoogle = window.adsbygoogle || []).push({});

Supplier(sid, sname,city,NOE, pid, pname,colour,quantity)

S1(sid,sname,city,NOE) và SP1(pid,pname,colour,quantity)

• Ví dụ:Phép táchkhơng mất mátthơng tin

S1(sid,sname,city,NOE) và SP2(sid,pid,pname,colour,quantity)

Một phần của tài liệu Bài giảng cơ sở dữ liệu (Trang 38)