第一題: 請回答下列問題: (一)關聯式資料庫中的正規化(Normalization),用來消除遞移相依(Transitive Dependency)的是哪一種正規型式(Normal Form)?【5 分】
詳解 (共 1 筆)
詳解
在關聯式資料庫中,用來消除遞移相依(Transitive Dependency)的正規化形式是 第三正規形式(3NF,Third Normal Form)。
第三正規形式 (3NF)
定義:一個關係達到第三正規形式 (3NF) 必須滿足以下條件:
- 該關係已經是第二正規形式 (2NF)。
- 該關係中不存在遞移相依。
遞移相依:
- 遞移相依 是指如果存在 A -> B 和 B -> C,那麼 A -> C 是一種遞移相依。
- 在第三正規形式中,不允許屬性 C 依賴於非鍵屬性 B,這意味著所有的非主鍵屬性必須直接依賴於候選鍵(Candidate Key)。
消除遞移相依的過程
為了將一個關係轉換為第三正規形式,需要識別並消除所有的遞移相依。這通常通過將原始關係分解為更小的關係來實現,每個新關係都只包含直接依賴於候選鍵的屬性。
例子
假設有一個關係 R,其中包含以下屬性:
- StudentID(學生編號)
- StudentName(學生姓名)
- Department(科系)
- DepartmentHead(科系主任)
假設存在以下函數相依:
- StudentID -> StudentName
- StudentID -> Department
- Department -> DepartmentHead
在這個關係中,DepartmentHead 依賴於 Department,而 Department 又依賴於 StudentID,所以 DepartmentHead 遞移依賴於 StudentID。
為了將這個關係轉換為第三正規形式,需要將其分解成兩個關係:
-
R1 (Student):
- StudentID
- StudentName
- Department
-
R2 (Department):
- Department
- DepartmentHead
這樣就消除了遞移相依,因為在新的關係中,每個非主鍵屬性都直接依賴於候選鍵。
總結
第三正規形式 (3NF) 是用來消除遞移相依的正規化形式,通過將關係分解,使所有非主鍵屬性都直接依賴於候選鍵,從而提高數據的完整性和一致性。