\r\n\r\n
3NFとBCNFの比較
正規化とは、リレーショナルデータベースのデータに存在する冗長性を最小化するために用いられるプロセスである。この処理は基本的に、大きなテーブルを冗長性の少ない小さなテーブルに分割することである。これらの小さなテーブルは、明確に定義されたリレーションシップによって互いに関連付けられる。標準化されたデータベースでは、データを変更したり修正したりする場合、1つのテーブルだけを修正すればよい。第3のパラダイム(3NF)は、関係モデルと正規化の概念を考案したエドガー・F・コッドによって1971年に提案された。ボイス-コッドパラダイム(BCNF)は、1974年にコッドとレイモンド・フォックス・ボイスによって提案された。
3NFとは?
3NFはリレーショナルデータベースの正規化で使われる仕様の第3の形式である。コッドの定義によれば、表が第2パラダイム(2NF)であり、表中の候補キー以外のすべての属性が表中のすべての候補キーに直接依存する場合にのみ3NFという。3NFに準拠したテーブルでは、通常、テーブルの行を**、削除、更新する際に発生する例外は発生しない。
BCNFとは?
BCNF(3.5NFとも呼ばれる)は関係データベースの正規化で使われるもう一つの標準的な形式である。3NFでは解決できない例外をキャッチするために導入されました。A→Bの形の非自明な依存関係に対して、Aがスーパーキーである場合にのみ、表をBCNFと呼ぶ。BCNFの標準形でない表を分解しても、BCNFの形の表が(元の表に存在する依存関係を保ったまま)生成されることは保証されない。
3NFとBCNFの違いは何ですか?