BCNF (Boyce-Codd Normal Form) 正規化
Boyce-Codd Normal Form (BCNF) 是資料庫正規化中的一個重要概念,用來消除冗餘並避免數據異常。BCNF 是第三范式(3NF)的強化形式,它要求資料庫表中的每個決定性鍵都必須是候選鍵。以下是達到 BCNF 的步驟及示例:
1. 候選鍵和函數依賴
- 候選鍵: 表中的一組屬性,如果這些屬性的值可以唯一地標識一個元組。
- 函數依賴: 如果屬性 A 的值決定屬性 B 的值,則稱 B 依賴於 A,記作 A -> B。
2. BCNF 定義
- 定義: 如果關係 R 中的每個函數依賴 A -> B,要麼 A 是超鍵(即 A 是候選鍵或包含候選鍵),要麼 B 是 A 的子集(即 A 已經包含 B),則 R 是 BCNF。
3. 轉換為 BCNF
- 步驟 1: 找出表中的所有函數依賴。
- 步驟 2: 確認每個函數依賴是否符合 BCNF 定義。
- 步驟 3: 如果不符合,則需要分解表,直到每個函數依賴都符合 BCNF。