第 6 正規形( 6NF )は、リレーショナル データベースの正規化で使用される正規形であり、リレーショナル代数を拡張し、関係演算子 (結合など) を一般化して間隔データをサポートします。これは、時間データベースで役立ちます。
6NF という用語は歴史的には別の正規化度を指すためにも使用されており、今日ではドメインキー正規形(DKNF)としてよく知られています(その他の意味を参照)。
意味
クリストファー・J・デイトらは、リレーショナル代数の拡張に基づいて、第六正規形を正規形として定義した。 [1] [2] [3]
joinなどの関係演算子は、例えば時間データベースにおける日付のシーケンスや時間の瞬間などの間隔データの自然な処理をサポートするために一般化されています。[4] [2] [3]第6正規形は、次のように、この一般化された結合に基づいています。
relvar R [テーブル]が第六正規形 (略して 6NF) にあるのは、非自明な結合依存関係をまったく満たしていない場合のみです。ここで、前述のように、結合依存関係が自明なのは、関係する射影 (U_projections の場合もある) の少なくとも 1 つが、関係する relvar [テーブル] のすべての属性の集合に引き継がれる場合のみです。[5]
Date らは次のような定義も示しています。
Relvar R が第六正規形 (6NF) であるためには、R のすべての JD [結合依存関係] が自明である必要があります。JD が自明であるためには、そのコンポーネントの 1 つが関連する見出し全体に等しい必要があります。[6]
6NF 内の任意の関係は5NF内にも存在します。
第 6 正規形は、関係変数を既約なコンポーネントに分解することを目的としています。これは、非時間的な関係変数では比較的重要ではないかもしれませんが、時間的な変数やその他の間隔データを扱う場合には重要になることがあります。たとえば、関係がサプライヤーの名前、ステータス、都市で構成されている場合、これらの値が有効である、または有効であった時間 (履歴データなど) などの時間データも追加したい場合がありますが、3 つの値は互いに独立して異なる速度で変化する可能性があります。たとえば、ステータスの変更履歴を追跡したい場合があります。生産コストを確認すると、変更はサプライヤーが都市を変更したことが原因で、配送料が変わったことが明らかになる場合があります。
SQLにおける時間的集約に関する詳細な議論については、Zimanyiも参照してください。[7]別のアプローチについては、TSQL2を参照してください。[8]
使用法
第6正規形は、2009年現在、アンカーモデリングの使用など、利点が欠点を上回る一部のデータウェアハウスで使用されています。6NFを使用するとテーブルが爆発的に増えますが、現代のデータベースでは、選択クエリから不要なテーブルを削除し(「テーブル削除」と呼ばれるプロセスを使用して、クエリが参照するテーブルの一部を読み取らなくてもクエリを解決できます[10])、いくつかの属性にのみアクセスするクエリを高速化できます。
例
テーブルを第6正規形にするには、まず第5正規形にする必要があり、次に各テーブルが単純な結合依存関係のみを満たす必要があります。すでに5NFになっているテーブルを使用した簡単な例[11]を見てみましょう。ここでは、usersテーブルのすべての属性が非NULLで、主キーはユーザー名です。
このテーブルは、各結合依存関係がテーブルの一意の候補キー(ユーザー名)によって暗示されるため、5NF です。具体的には、可能な結合依存関係は、{ユーザー名、ステータス}、{ユーザー名、部門} のみです。
6NF バージョンは次のようになります。
したがって、5NF の 1 つのテーブルから、6NF では 2 つのテーブルが生成されます。
次に別の例を示します。
テーブルの結合依存関係は、{医師名、職業}、{医師名、勤務年数}、{医師名、タイプ} です。したがって、このようなテーブルは 2NF であることがわかります (推移的依存関係の出現により)。次のテーブルは、これを 6NF にしようとしています。
その他の意味
第六正規形(6NF)は、ドメインキー正規形(DKNF)の同義語として使用されることもあります。この用法は、Dateらの研究より前から存在していました。[12]
参照
参考文献
- ^ デイト、ダーウェン&ロレンツォス 2003年。
- ^ ab Date、Darwen、Lorentzos 2014年。
- ^ ハリントン2009、125-126頁を参照。
- ^ デイト、ダーウェン&ロレンツォス2003、pp.141-160。
- ^ デイト、ダーウェン&ロレンツォス2003、p.176。
- ^ デイト、ダーウェン&ロレンツォス2014、p.213。
- ^ ジマニ 2006年。
- ^ スノッドグラス。
- ^ 第6正規形に基づくデータウェアハウスモデリング手法について説明しているウェブサイトについては、Anchor Modelingのウェブサイトを参照してください。
- ^ テーブル削除とは? - MariaDB ナレッジベース
- ^ 例: http://www.anattatechnologies.com/q/2011/07/normalization-6nf/
- ^ dbdebunk.
文献
- Date, Chris J. ; Darwen, Hugh ; Lorentzos, Nikos A. (2003 年 1 月)。時間データと関係モデル: 間隔と関係理論の適用に関する詳細な調査、時間データベース管理の問題。オックスフォード: Elsevier LTD。ISBN 1-55860-855-9。
- Date, Chris J. ; Darwen, Hugh ; Lorentzos, Nikos A. ( 2014年 8 月 12 日)。時間とリレーショナル理論 - リレーショナル モデルと SQL における時間データベース。Elsevier-Morgan Kaufmann。ISBN 9780128006313。
- Snodgrass、Richard T.「TSQL2 テンポラル クエリ言語」。
- Zimanyi, E. (2006 年 6 月)。「標準 SQL における時間集計と時間ユニバーサル数量化」( PDF)。ACM SIGMOD レコード、第 35 巻、第 2 号、16 ページ。ACM。
- Date, Chris J.「DK/NF NORMAL FORMについて」。2012年4月6日時点のオリジナルよりアーカイブ。
- Harrington, Jan L. (2009)。リレーショナル データベースの設計と実装: わかりやすく解説。Elsevier-Morgan Kaufmann。ISBN 9780123747303。
さらに読む
- Date, CJ (2006)。リレーショナル データベース ディクショナリ: リレーショナル用語と概念の包括的な用語集、実例付き。O'Reilly シリーズ ポケット リファレンス。O'Reilly Media, Inc.、p. 90。ISBN 978-0-596-52798-3。
