要找出功能相依的 Minimal Cover,我們需要進行以下步驟:
確保右邊的屬性都是單一屬性。
確保左邊的屬性是最小的。
確保每一個功能相依是必要的。
步驟 1:拆分右邊的屬性為單一屬性
給定功能相依:
A→{B,C,D,E,F}
{B,C}→{A,D,E,F}
B→F
D→E
D→B
首先,將右邊的屬性拆分為單一屬性:
A→B
A→C
A→D
A→E
A→F
{B,C}→A
{B,C}→D
{B,C}→E
{B,C}→F
B→F
D→E
D→B
步驟 2:確保左邊的屬性是最小的
現在檢查每個功能相依,確保左邊的屬性是最小的:
A→B
A→C
A→D
A→E
A→F
{B,C}→A
{B,C}→D
{B,C}→E
{B,C}→F
B→F
D→E
D→B
這些功能相依左邊已經是最小的,無需進一步簡化。
步驟 3:確保每一個功能相依是必要的
檢查每一個功能相依,確保它們是必要的。如果可以由其他功能相依推導出來,則它是不必要的。
A→B:保留。
A→C:保留。
A→D:保留。
A→E:因為 D→E 且 A→D,A→E 是冗餘的,移除。
A→F:因為 A→B 且 B→F,A→F 是冗餘的,移除。
{B,C}→A:保留。
{B,C}→D:保留。
{B,C}→E:因為 D→E 且 {B,C}→D,{B,C}→E 是冗餘的,移除。
{B,C}→F:因為 B→F 且 {B,C}→B,{B,C}→F 是冗餘的,移除。
B→F:保留。
D→E:保留。
D→B:保留。
總結 Minimal Cover
最小覆蓋(Minimal Cover)為:
A→B
A→C
A→D
{B,C}→A
{B,C}→D
B→F
D→E
D→B
這些是不能通過其他功能相依推導出來的最小集合。