多値従属性

多値従属性（たちじゅうぞくせい、MVD、）は、コンピュータの関係データベースにおける関係（表）の中の属性の2つの集合の間の、完全な制約である。

多値従属性の定義を述べる。
R を関係とし、A, B, C を、R の属性集合の任意の部分集合とする。
R のある（A値, C値）対に対応するB値の集合がA値だけに依存し、C値には独立かつそのときに限り、B は A に多値従属しているといい、次のように表す。

関数従属性とは対照的に、多値従属性は関係においていくつかの組（タプル、行）を親として必要とする。
それゆえ、多値従属性は組生成従属性とも呼ばれる。
多値従属性はデータベースの正規化において第4正規形 (4NF) への正規化で役割を果たす。

多値従属性は関数従属性を一般化した概念と位置づけることができる。

 例 
この例は、講義コースの関係データベースである。
各コースで推奨されている参考図書がある。
各コースには講義する予定となっている講師がいる。

+講義コースデータベースの関係コース  参考図書  講師 AHA  Silberschatz  John D AHA  Nederpelt  John D AHA  Silberschatz  William M AHA  Nederpelt  William M AHA  Silberschatz  Christian G AHA  Nederpelt  Christian G OSO  Silberschatz  John D OSO  Silberschatz  William M

講師はコースに属している。
参考図書はコースに属している。
講師と参考図書は互いに独立している。
こうしたことから、このデータベース設計には多値従属性が存在すると、述べることができる。
この例の関係（表）は {コース, 参考図書, 講師} を候補キーとするボイス＝コッド正規形（BCNF、第3正規形の修正版）であるが、第4正規形 (4NF) ではない。
仮に AHA コースに新しい参考図書を追加しようとする場合、そのコースの各講師のデータに対して参考図書を追加しなければならない。
逆に AHA コースに新しい講師を追加しようとする場合も同様である。
形式的にはこの例の関係には次の2つの多値従属性がある。
 {コース} ファイル:twoheadrightarrow.gif {参考図書}
 {コース} ファイル:twoheadrightarrow.gif {講師}
この例の関係のように、決定項 (多値従属性の左側) が候補キーではない多値従属性のある関係では、冗長性がある。
データベースの正規化においては、多値従属性の存在する関係においては決定項が候補キーである場合に限り、第4正規形 (4NF) である。
このとき多値従属性は事実上は関数従属性である。
多値従属性は関数従属性を一般化した概念と位置づけることができる。

前述の例の関係は、次のように2つの第4正規形 (4NF) の関係に分解して正規化することができる。

       コース  参考図書
       AHA  Silberschatz
       AHA  Nederpelt
       OSO  Silberschatz

      コース  講師
       AHA  John D
       AHA  William M
       AHA  Christian G
       OSO  John D
       OSO  William M


 多値従属性の特性 
、、、 を関係 R の属性の部分集合とする。
ファイル:twoheadrightarrow.gif を多値従属性とする。

  ファイル:twoheadrightarrow.gif  であるならば、 ファイル: twoheadrightarrow.gif 
  ファイル:twoheadrightarrow.gif  かつ  であるならば、 ファイル:twoheadrightarrow.gif 
  ファイル:twoheadrightarrow.gif  かつ  ファイル:twoheadrightarrow.gif  であるならば、 ファイル:twoheadrightarrow.gif 

次の特性は関数従属性を使っている。
→ を関数従属性とする。

  →  であるならば  ファイル:twoheadrightarrow.gif 
  ファイル:twoheadrightarrow.gif  かつ  → であるならば、 → 

前述の規則は広く知られており、完全な規則である。

 X ファイル: twoheadrightarrow.gif Y が関係 R において成立する場合かつその場合に限り、R を (X, Y) と (X, R-Y) に無損失分解できる （情報の損失を伴うこと無く分解することが —— 正規化することができる）。

 用語の定義 
 完全な制約
 データベースにおける全ての属性について何らかのことを表現する制約（組み込みの制約とは異なる）。多値従属性はその定義から完全な制約である。多値従属性の定義では、 の属性集合について何らかのことを述べている。
 組生成従属性
 関係において存在するためには、明白にいくつかの組を必要とする従属性。

 参考文献 



 脚注 

 外部リンク 

 Multivalued dependencies and a new Normal form for Relational Databases (PDF) - Ronald Fagin, IBM Research Lab

Category:データベース
Category:データモデリング