多値従属性
多値従属性(たちじゅうぞくせい、MVD、英: multivalued dependency)は、コンピュータの関係データベースにおける関係(表)の中の属性の2つの集合の間の、完全な制約である。
多値従属性の定義を述べる。 R を関係とし、A, B, C を、R の属性集合の任意の部分集合とする。 R のある(A値, C値)対に対応するB値の集合がA値だけに依存し、C値には独立かつそのときに限り、B は A に多値従属しているといい、次のように表す。
A B [1]
関数従属性とは対照的に、多値従属性は関係においていくつかの組(タプル、行)を親として必要とする。 それゆえ、多値従属性は組生成従属性とも呼ばれる。 多値従属性はデータベースの正規化において第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つの多値従属性がある。
この例の関係のように、決定項 (多値従属性の左側) が候補キーではない多値従属性のある関係では、冗長性がある。 データベースの正規化においては、多値従属性の存在する関係においては決定項が候補キーである場合に限り、第4正規形 (4NF) である。 このとき多値従属性は事実上は関数従属性である。 多値従属性は関数従属性を一般化した概念と位置づけることができる。
前述の例の関係は、次のように2つの第4正規形 (4NF) の関係に分解して正規化することができる。
|
|
多値従属性の特性
[編集]、、、 を関係 R の属性の部分集合とする。 を多値従属性とする。
次の特性は関数従属性を使っている。 → を関数従属性とする。
前述の規則は広く知られており、完全な規則である。
用語の定義
[編集]- 完全な制約
- データベースにおける全ての属性について何らかのことを表現する制約(組み込みの制約とは異なる)。多値従属性はその定義から完全な制約である。多値従属性の定義では、 の属性集合について何らかのことを述べている。
- 組生成従属性
- 関係において存在するためには、明白にいくつかの組を必要とする従属性。
参考文献
[編集]- 『データベースシステム概論 原著第6版』丸善、東京、1997年。ISBN 978-4-621-04276-2。
脚注
[編集]- ^ C. J .Date、藤原譲ほか、1997年、p.358
外部リンク
[編集]- Multivalued dependencies and a new Normal form for Relational Databases (PDF) - Ronald Fagin, IBM Research Lab