正規形の話を先に進める前に、重要な概念である『関数従属』について説明します。
厳密な説明は難しいので省きますが、
『属性(または属性の組)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つ特定することができます。
したがって、すべての属性は候補キーに対して関数従属していると言えます。


コメント