111年高考三級資料庫應用
三、Z(P, Q, R, S) 是一個關聯式資料表 (Relational Table) 的綱要,Z 為資料表的名稱,P、Q、R、S 為資料表的四個屬性,P 為資料表的主鍵與唯一的候選鍵。此外,該資料表有下列功能相依:(每小題15分,共30分) P → Q, R, S Q → S (一)資料表 Z 符合第幾正規型式?原因為何? (二)將資料表 Z 正規化到適當的正規型式,寫出正規化之後每一個資料表 的綱要,包括資料表的名稱、屬性、主鍵及外來鍵 (如果有的話)。 |
答:
(一)
1.第一正規化:
一關聯為1NF,若且唯若此關聯中,每一值組 (tuple,record) 的每一屬性只可 恰好包含一個值,即紀錄中的每個欄位值皆為基元值 (Atomic value)。即不存在複合屬性 (composite attributes) [如地址是由區域號碼、縣市、鄉鎮、路、巷、弄、號等各個屬性所組成]、多值屬性 (multi-valued attributes) [如學生的電話可能包含許多電話號碼]。因此,Z 關聯符合第一正規化。
2.第二正規化:
一關聯為 2NF,若且唯若此關聯屬於 1NF,而且關聯中所有非鍵屬性 (non-key attributes) 皆完全功能相依 (total functional dependent) 於主鍵。即不存在部分功能相依 (partial functional dependent) 於主鍵的屬性。因此,Z 關聯符合第二正規化。
3.第三正規化:
一關聯為 3NF,若且唯若此關聯屬於 2NF,而且關聯中的所有屬性皆非遞移相依 (non-transitive dependent) 於主鍵。即不存在遞移相依於主鍵的屬性 (不存在與主鍵無關的相依性)。因為 P→Q 且 Q→S,S 遞移相依於主鍵 P,因此,Z 關聯不符合第三正規化。
(二)
1.第一正規化:沒有基元值,符合 1NF。主鍵為 P,外鍵沒有。
2.第二正規化:沒有部分功能相依,符合 2NF。
3.第三正規化:
不符合 3NF,因為 P→Q 且 Q→S,S 遞移相依於主鍵 P,拆解如下:
(1)R1(P, Q, R, S):主鍵:P,外鍵:Q→R2.Q。
(2)R2(Q, S)。主鍵:Q,外鍵:無。
4.BCNF正規化:
R1、R2 的決定因素是此關聯的候選鍵,所以都符合 BCNF。
5.正規化處理的結果:
(1)R1(P, Q, R, S):主鍵:P,外鍵:Q→R2.Q。
(2)R2(Q, S)。主鍵:Q,外鍵:無。