Boyce-Codd Normal Form (BCNF)
BCNF(ボイス・コッド正規形)は、第三正規形に加えて、すべての決定項が候補キーであることを要求する。第三正規形の強化版である。
目的
3NFに残る更新異常をなくすこと。主属性のキーへの部分依存や推移的依存が原因である。
メカニズム
すべての関数従属性X→Yについて、Xはスーパーキー(候補キーを含む)でなければならない。第三正規形より厳格で、3NFは非主属性のみを制約するのに対し、BCNFはすべてを制約する。ただしBCNFは関数従属性の保存に失敗することがある。
ユースケース
- データベース設計
- テーブルの正規化
- 更新アノマリの排除