関数従属

正規形の話を先に進める前に、重要な概念である『関数従属』について説明します。
厳密な説明は難しいので省きますが、

『属性(または属性の組)Xの値が判れば、属性(または属性の組)Yの値が一つに特定できる』

ということが言えるとき、

YはXに関数従属する

といいます。

記号で書く場合は、

X → Y

と書きます。

XやYが属性の組である場合は、カッコで属性の組を囲みます。例えば、関係スキーマ

学生(学籍番号、学年、専攻、出席番号、氏名、住所、電話番号)

について、『学籍番号が判れば、氏名が判る』ならば

学籍番号 → 氏名

学年と専攻と出席番号が判れば、住所と電話番号が判る』ならば

(学年、専攻、出席番号) → (住所、電話番号)

と記述します。

関数従属の性質

関数従属には次のような性質があります。

X、Y、Zを属性の組として、

・YがXの部分集合であるならば、X→Y である  …部分集合の法則
・X→Y であるならば、XZ→YZ である …増加の法則
・X→Y かつ Y→Z であるならば、X→Z である …推移の法則
・X→Y であり X→Z であるならば、X→YZ である …結合
・X→YZ であるならば、X→Y かつ X→Z である …分解

候補キー

候補キーは関係スキーマのタプルを1つ特定することができます。
したがって、すべての属性は候補キーに対して関数従属していると言えます。

コメント

タイトルとURLをコピーしました