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\ fF2 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 = {ABC, BC, AB, ABC}. Tìm phủ tối thiểu của F? – F1 = {AB, AC, BC, ABC}
– 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 ABC. Giảnước A thì ta cịn BC 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 ABC khỏi F1.F2= {AB, AC, BC} – Bỏ pth thừa: AC là thừa. Vậy Fc = {AB, BC} Ví dụ 2 Ví dụ 2 • Tìm phủtối thiểu của tập phụthuộc hàm F = {AB, ABCDE, EFG, ACDFEG}
– F1 = {AB, ABCDE, EFG, ACDFE, ACDFG}
–Loại bỏ thuộc tính thừa trong 3 phụ thuộc hàm ABCDE, ACDFE và ACDFG
27
Xét ABCDE: Giả sử giản ước A , ta cịn BCDE, kiểm tra BCDE 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ì BCDE 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ĩ AB 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 = {AB, ACDE, EFG, ACDFE, ACDFG}
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
AB 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ự, ACDE, EFG khơng thừa
28
Tương tự, ACDE, EFG khơng thừa
ACDFE 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 ACDE, theo tiênđềtăng trưởng ta sẽsuy rađược ACDFE ACDFG là thừa vì nếu loại bỏpth này, trong tập pth cịn lại vẫn cĩ ACDE và EFG, dođĩ ta vẫn cĩ (ACDF)+= ACDEFG cĩ chứa G – Vậy Fc = { AB, ACDE, EFG} 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
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)