105年關務三等資料庫應用
四、已知關聯綱目 (Relation Schema) R = {A,B,C,D,E},其功能相依性 (Functional Dependencies) 之集合 F = {AC→E,AC→D,BC→D,ACD→BE} (一)試問 R 所滿足之最高正規型式 (Normal Form) 為何?請說明原因。(10分) (二)試問 F 之最小集合 (Minimal Set) 為何?請解釋每一步驟。(15分) |
答:
(一)R所滿足的最高正規型式及原因
F = {AC→E,AC→D,BC→D,ACD→BE}
1.找出 R 的候選鍵:
(1)從 F 中找出沒有在功能相依性的右手邊出現過的 R 屬性。它為候選鍵不可或缺的部分。此屬性為 {A, C}。
(2)將候選鍵不可或缺的部分使用泛封閉集合 (Closure set) 推導出所有屬性:
若所得的泛封閉集合包括所有屬性,則此候選鍵不可或缺部分為唯一候選鍵;若所得的泛封閉集合無法包括所有屬性,則有多個候選鍵。使用泛封閉集合演算法可以計算出 F 的 closure 集合如下:
{A, C}+
≡ {A, C, E}+ (依據 AC→E)
≡ {A, C, D, E}+ (依據 AC→D)
≡ {A, B, C, D, E}+ (依據 ACD→BE)
A, C 為唯一的候選鍵。
2.因為 BC→D,D 部份相依於主鍵 C,所以不是 2NF,由於每個欄位值皆為基元值 (Atomic value),所以最高正規型式為 1NF。
※參考資料:向宏-資料庫應用98年版 14-25~A-26, A-35, A-58~A-59
(二)F的最小集合(Minimal Set)
F = {AC→E,AC→D,BC→D,ACD→BE}
1.右邊只有一個相依因素:
對每個功能相依,均只有一個相依因素 (Dependent)。右邊只有一個相依因素。ACD→BE 拆成 ACD→B, ACD→E。所以 F = {AC→E,AC→D,BC→D,ACD→B,ACD→E}。
2.左邊沒有多的決定因素:
沒有多餘的決定因素 (Determinant),即移除任何一決定因素的任何一屬性,均會改變封閉集 (Closure)。左邊沒有多的決定因素。由於 AC→D,所以ACD→B 及 ACD→E 的 D 是多餘的,化簡為 AC→B, AC→E。所以 F = {AC→E,AC→D,BC→D,AC→B}。
3.沒有多餘的功能相依(FD):沒有遞移相依性
移除任何一功能相依,均會改變封閉集。由於 AC→B,所以 AC→BC (擴展性),又 BC→D,所以 AC→D (遞移性),因此移除 AC→D。所以 F 的最小集合為 {AC→E,BC→D,AC→B}。
※參考資料:陳玄玲-資料庫系統原理第六版 15-8~15-10