関数従属性・正規化理論 重要度:★★★出題: AM2・PM1・PM2
関数従属性(Functional Dependency)とアームストロングの公理
かんすうじゅうぞくせいとあーむすとろんぐのこうり / Functional Dependency & Armstrongs Axioms
ある属性集合Xの値が決まると、別の属性集合Yの値がただ1つに一意決定される関係(X → Y)。
3行速習ポイント
- 決定項Xの値が同じであれば、従属項Yの値も常に同じになるという業務上の意味的制約を表す
- 反射律・増加律・推移律(アームストロングの公理)および合併律・分解律・擬推移律によりすべての関数従属の閉包を導出できる
- すべての属性を関数従属させる極小の属性集合が「候補キー」となる
図解
図3種類の関数従属性と正規化の対応
正規化完了
完全関数従属
候補キー全体{A, B}が決まって初めて非キー属性Xが一意に決まる理想状態
2NF分解対象
部分関数従属
複合候補キーの一部{A}だけから非キー属性Yが決まる状態(第2正規形で解消)
3NF分解対象
推移的関数従属
候補キーX → 非キーY → 非キーZ の連鎖がある状態(第3正規形で解消)
概要と本質
正規化理論の土台となる概念です。帳票や業務記述から「何が決まれば何がただ1つに決まるか(例:{案件コード, 商談開始日時} → 場所、従業員コード → 従業員氏名)」を正確に読み取ることが、候補キーの特定および第2・第3・BCNFへの正規化分解の出発点となります。
重要ポイント・コア概念
- 完全関数従属:候補キーX全体によって初めてYが一意に決まり、Xのいかなる真部分集合からもYが決まらない状態
- 部分関数従属:複合候補キー{A, B}の一部であるAだけから非キー属性Yが決まる状態(第2正規形への分解対象)
- 推移的関数従属:X → Y かつ Y → Z(ただし Y → X ではなく、ZはYに含まれない)が成り立つ状態(第3正規形への分解対象)
午後I・午後II記述試験での攻略ポイント
午後I問1・問2の冒頭設問で「関係Rの候補キーをすべて答えよ({A, B}形式で表記)」が出題されたら、まずどの矢印の右辺(従属項)にも現れない属性を探します。その属性は必ずすべての候補キーに含まれます。
午後記述で使える加点キーワード(クリックでコピー)
この用語が出題された過去問を解く(1分演習)
即時アウトプットで定着データベーススペシャリスト 過去問演習で実践力を鍛える