第5正規形
プロジェクト結合正規形 ( PJ / NF )としても知られる5番目の正規形 ( 5NF )は、意味的に関連する複数の関係を分離することにより、多値の事実を記録するリレーショナルデータベースの冗長性を減らすように設計されたデータベース正規化のレベルです。そのテーブル内のすべての非自明な結合依存関係が候補キーによって暗示されている場合にのみ、テーブルは5NFにあると言われます。
Rの結合依存関係* {A、B、…Z}は、A、B、…、ZのそれぞれがRのスーパーキーである場合にのみ、Rの候補キーによって暗示されます。
5番目の標準形式は、ロナルドファギンが1979年の会議論文「 標準形式とリレーショナルデータベースオペレータ」で初めて説明しました。
例
次の例を考えてみましょう。
巡回セールスマン | ブランド | 製品型 |
---|---|---|
ジャック・シュナイダー | アクメ | 掃除機 |
ジャック・シュナイダー | アクメ | ブレッドボックス |
メアリー・ジョーンズ | ロブスト | 剪定ばさみ |
メアリー・ジョーンズ | ロブスト | 掃除機 |
メアリー・ジョーンズ | ロブスト | ブレッドボックス |
メアリー・ジョーンズ | ロブスト | 傘立て |
ルイ・ファーガソン | ロブスト | 掃除機 |
ルイ・ファーガソン | ロブスト | 望遠鏡 |
ルイ・ファーガソン | アクメ | 掃除機 |
ルイ・ファーガソン | アクメ | 溶岩ランプ |
ルイ・ファーガソン | ニンバス | タイラック |
テーブルの述語は次のとおりです。 ブランドによって指定されたブランドで作られた製品のタイプによって指定されたタイプの製品は、 セールスマンの旅で指定された巡回セールスマンから入手できます。
主キーは、3つの列すべての複合です。また、テーブルには4NFにあることに注意してください。テーブルには複数値の依存関係(2部分結合の依存関係)がないためです。他の2つの列の決定要因となる列(それ自体は候補キーまたはスーパーキーではありません)はありません。
巡回セールスマン、ブランド、および製品タイプの有効な可能な組み合わせを制限するルールがない場合、状況を正しくモデル化するには、上記の3つの属性の表が必要です。
ただし、次のルールが適用されるとします。 巡回セールスマンは、レパートリーに特定のブランドと特定の製品タイプを持っています。ブランドB1とブランドB2がレパートリーにあり、製品タイプPがレパートリーにある場合(ブランドB1とブランドB2の両方が製品タイプPであると仮定)、巡回セールスマンはブランドB1によって作られた製品タイプPの製品を提供する必要がありますブランドB2製のもの。
その場合、テーブルを3つに分割することができます。
巡回セールスマン | 製品型 |
---|---|
ジャック・シュナイダー | 掃除機 |
ジャック・シュナイダー | ブレッドボックス |
メアリー・ジョーンズ | 剪定ばさみ |
メアリー・ジョーンズ | 掃除機 |
メアリー・ジョーンズ | ブレッドボックス |
メアリー・ジョーンズ | 傘立て |
ルイ・ファーガソン | 望遠鏡 |
ルイ・ファーガソン | 掃除機 |
ルイ・ファーガソン | 溶岩ランプ |
ルイ・ファーガソン | タイラック |
巡回セールスマン | ブランド |
---|---|
ジャック・シュナイダー | アクメ |
メアリー・ジョーンズ | ロブスト |
ルイ・ファーガソン | ロブスト |
ルイ・ファーガソン | アクメ |
ルイ・ファーガソン | ニンバス |
ブランド | 製品型 |
---|---|
アクメ | 掃除機 |
アクメ | ブレッドボックス |
アクメ | 溶岩ランプ |
ロブスト | 剪定ばさみ |
ロブスト | 掃除機 |
ロブスト | ブレッドボックス |
ロブスト | 傘立て |
ロブスト | 望遠鏡 |
ニンバス | タイラック |
この場合、ルイ・ファーガソンが、ACME製の掃除機を提供することを拒否することは不可能です(ACMEが掃除機を製造していると仮定します)。 )。
このセットアップが冗長性の除去にどのように役立つかに注意してください。ジャック・シュナイダーがロブストの製品ブレッドボックスと掃除機の販売を開始するとします。前の設定では、製品タイプごとに2つの新しいエントリを追加する必要がありました(Jack Schneider、Robusto、Breadboxes>、Jack Schneider、Robusto、掃除機>)。新しい設定では、Brands By Travelling Salesmanに1つのエントリ(Jack Schneider、Robusto>)のみを追加する必要があります。
使用法
まれな状況でのみ、4NFテーブルが5NFに適合しません。これらは、4NFテーブル内の属性値の有効な組み合わせを管理する複雑な実世界の制約が、そのテーブルの構造に暗黙的ではない状況です。そのようなテーブルが5NFに正規化されていない場合、テーブル内のデータの論理的な一貫性を維持する負担は、挿入、削除、更新を担当するアプリケーションによって部分的に行われなければなりません。また、テーブル内のデータが不整合になるリスクが高まります。対照的に、5NF設計では、このような矛盾の可能性が排除されています。
テーブルTは、より小さなテーブルを無数に分解できない場合、5番目の標準形式(5NF)またはProject-Join Normal Form(PJNF)です。分解後のすべての小さなテーブルがテーブルTと同じ候補キーを持つ場合は除外されます。