BCNFは冗長性を最小限に抑え、データの整合性を高めます。
Boyce-Codd Normal Form(BCNF)の目標は、データベースの正規化を達成するために、リレーショナルデータベースの列と表を編成することによってデータの整合性を向上させることです。 データベースの正規化は、テーブル間の関係が確立されている場合や、データベースの柔軟性を高め、データを保持するためのルールがテーブルに定義されている場合に発生します。
データベースの正規化の目的は、冗長なデータを排除し、データの依存関係を確実にすることです。
同じデータが複数のテーブルに格納されておらず、 関連するデータのみがテーブルに格納されている場合、データベースは正規化されます。
Boyce-Codd Normal Formの起源
一連のガイドラインに従って、データベースが正規化されていることを確認します。 これらのガイドラインは、通常の書式と呼ばれ、1から5までの番号が付けられています。 リレーショナルデータベースは、最初の3つの形式(1NF、2NF、3NF)を満たす場合、正規化されていると記述されています。
BCNFは1974年にRaymond BoyceとEdgar Coddによって第3正規形、すなわち3NFへの拡張として作成されました。 これらの男性は、計算時間を短縮する目的で冗長性を最小限にするデータベーススキーマを作成するように取り組んでいました。 3番目の正規形は、1番目と2番目の正規形のガイドラインに加えて、主キーに依存しない列を削除します。 3.5NFと呼ばれることがあるBCNFは、3NFのすべての要件を満たし、候補キーがテーブル内の他の属性に依存しないことを要求します。
BCNFの創設時に、BoyceはStructured English Query Language(SQL)の主要開発者の1人でした.Coddのリレーショナルモデルを使用してデータ検索を改善しました。 このモデルでは、Coddはデータベースの構造的な複雑さを軽減でき、クエリがより強力で柔軟性があるということを示しました。
リレーショナルデータベースの洞察を利用して、Coddは1NF、2NF、3NFのガイドラインを定義しました。 彼はBCNFを定義するためにBoyceとチームを組んだ。
候補者キーとBCNF
候補キーは、データベース内に一意のキーを形成するテーブル内の列または列の組み合わせです。 属性の組み合わせは、他のデータを参照せずにデータベースレコードを識別するために使用できます。 各テーブルには複数の候補キーが含まれ、いずれか1つが主キーとみなされます。 テーブルに含まれる主キーは1つのみです。
候補キーは一意でなければなりません。
すべての行列式が候補キーである場合、関係はBCNFにあります。 従業員情報を格納し、
この表では、
従業員ID | ファーストネーム | 苗字 | タイトル |
13133 | エミリー | スミス | マネージャー |
13134 | ジム | スミス | アソシエイト |
13135 | エミリー | ジョーンズ | アソシエイト |
このデータベースの候補キーは、別の行で使用できない唯一の値であるため、