第4正規形

第4正規形4NF)は、データベースの正規化で使用される正規形です。1977年にロナルド・フェイギンによって導入された4NFは、ボイス・コッド正規形(BCNF)の次のレベルの正規化です。第2第3ボイス・コッド正規形が関数従属性を扱うのに対し、4NFは多値従属性と呼ばれるより一般的なタイプの従属性を扱いますテーブルが4NFであるための条件は、そのテーブルのすべての非自明な多値従属性X Yについて、Xがスーパーキーである場合、つまり、Xが候補キーまたはそのスーパーセットである場合です。 [1]

多値依存関係

リレーショナル データベース テーブルの列見出しが 3 つの互いに独立なグループXYZに分割されている場合、特定の行のコンテキストでは、各見出しグループの下のデータをそれぞれxyzとして参照できます。多値依存関係 X Y は、テーブルに実際に出現する任意のx を選択し(この選択をx cと呼びます)、テーブルに出現するすべてのx c yzの組み合わせのリストをコンパイルすると、 x c はzに関係なく同じyエントリに関連付けられていることがわかります。つまり、本質的には、 z の存在はyの可能な値を制約する有用な情報を提供しません。

単純な多値依存関係 X Yは、 YがXのサブセットであるかXYが一緒に関係の属性セット全体を形成する依存関係です。

関数従属は多値従属の特殊なケースです。関数従属XYにおいて、すべてのx は必ず1つの yを決定し、複数の y を決定することはありません。

次の例を考えてみましょう。

ピザ配達の組み合わせ
レストランピザの種類配達エリア
A1ピザ厚いクラストスプリングフィールド
A1ピザ厚いクラストシェルビービル
A1ピザ厚いクラスト首都
A1ピザ詰め物入りクラストスプリングフィールド
A1ピザ詰め物入りクラストシェルビービル
A1ピザ詰め物入りクラスト首都
エリートピザ薄いクラスト首都
エリートピザ詰め物入りクラスト首都
ヴィンチェンツォのピザ厚いクラストスプリングフィールド
ヴィンチェンツォのピザ厚いクラストシェルビービル
ヴィンチェンツォのピザ薄いクラストスプリングフィールド
ヴィンチェンツォのピザ薄いクラストシェルビービル

各行は、特定のレストランが特定の種類のピザを特定の地域に配達できることを示しています。

このテーブルにはキー以外の属性はありません。候補キーは{レストラン、ピザの種類、配達エリア}のみであるためです。したがって、このテーブルはBCNFまでのすべての正規形を満たしています。しかし、レストランが提供するピザの種類が配達エリアの影響を受けないと仮定した場合、あるいは逆に、配達エリアがピザの種類に影響されないと仮定した場合(つまり、レストランは提供しているすべてのピザの種類を、提供しているすべてのエリアに提供していると仮定した場合)、このテーブルは4NFを満たしません。問題は、このテーブルが{レストラン}属性(スーパーキーではない)に、2つの非自明な多値依存関係を持っていることです。依存関係は次のとおりです。

  • {レストラン} {ピザの種類}
  • {レストラン} {配達エリア}

非スーパーキーへのこれらの非自明な多値依存関係は、レストランが提供するピザの種類が配達エリアとは独立しているという事実を反映しています。この状況はテーブルに冗長性をもたらします。例えば、A1 Pizza がスタッフトクラストを提供していることが3回記述されているのに、A1 Pizza がチーズクラストピザの製造を開始すると、A1 Pizza の配達エリアごとに1行ずつ、複数の行を追加する必要があります。さらに、この操作を誤って実行してしまう可能性も排除できません。A1 Pizza の配達エリアのうち1つを除くすべてにチーズクラストの行を追加してしまうと、多値依存関係 {レストラン} {ピザの種類} が無視されてしまいます。

これらの異常の可能性を排除するために、提供される品種に関する事実を配達エリアに関する事実とは別のテーブルに配置し、両方とも 4NF である 2 つのテーブルを生成する必要があります。

レストランによる種類
レストランピザの種類
A1ピザ厚いクラスト
A1ピザ詰め物入りクラスト
エリートピザ薄いクラスト
エリートピザ詰め物入りクラスト
ヴィンチェンツォのピザ厚いクラスト
ヴィンチェンツォのピザ薄いクラスト
レストラン別の配達エリア
レストラン配達エリア
A1ピザスプリングフィールド
A1ピザシェルビービル
A1ピザ首都
エリートピザ首都
ヴィンチェンツォのピザスプリングフィールド
ヴィンチェンツォのピザシェルビービル

対照的に、レストランが提供するピザの種類が配達エリアごとに正当に異なる場合、元の 3 列のテーブルは 4NF を満たします。

ロナルド・フェイギンは常に4NFを達成することが可能であることを実証した。[2]リッサネンの定理は多値依存関係にも適用できる

4NFの実践

マーガレット・S・ウーによる1992年の論文では、データベースの正規化の指導は一般的に4NF(4元数)までには至らないと指摘されています。これはおそらく、4NFに違反する(ただしすべての下位正規形を満たす)テーブルはビジネスアプリケーションではほとんど見られないという信念によるものかもしれません。しかし、この信念は必ずしも正確ではない可能性があります。ウーは、40の組織データベースを対象とした調査で、20%以上のデータベースに、すべての下位正規形を満たしながらも4NFに違反するテーブルが1つ以上含まれていたと報告しています。[3]

4NFを超える正規化

4NF テーブルが高正規形5NFに準拠しない状況は稀です。これは、4NF テーブル内の属性値の有効な組み合わせを規定する複雑な現実世界の制約が、そのテーブルの構造に暗黙的に含まれていない状況です。

参照


参考文献

  1. ^ 「関係スキーマR*が第4正規形(4NF)であるとは、R*に対して非自明な多値依存関係X→Yが成立する場合、R*のすべての列名Aに対して関数依存関係X→Aも成立することを意味する。直感的に、すべての依存関係はキーの結果である。」Fagin, Ronald (1977年9月). 「多値依存関係とリレーショナルデータベースの新しい正規形」(PDF) . ACM Transactions on Database Systems . 2 (1): 262– 278. CiteSeerX 10.1.1.69.1872 . doi :10.1145/320557.320571. S2CID  14617155. オリジナル(PDF)から2007年11月29日にアーカイブ。 2008年4月26日閲覧 
  2. ^ フェイギン、268ページ
  3. ^ Wu, Margaret S. (1992年3月). 「第4正規形の実際的な必要性」. ACM SIGCSE Bulletin . 24 (1): 19– 23. doi :10.1145/135250.134515.

さらに読む

  • Date, CJ (1999)、『データベースシステム入門』(第8版)Addison-Wesley Longman. ISBN 0-321-19784-4
  • ケント、W.(1983)リレーショナルデータベース理論における5つの正規形の簡単なガイド、Communications of the ACM、第26巻、pp.120-125
「https://en.wikipedia.org/w/index.php?title=Fourth_normal_form&oldid=1272842130」より取得