IT資格用語解説基本情報技術者試験・データの正規化
部分関数従属
更新日:
用語解説
部分関数従属は、属性Yが複合属性集合Xに関数従属している一方、Xの真部分集合だけでもYが決まる関係です。複合候補キーの一部に非キー属性が依存する状態であり、第2正規形への分解対象になります。
■ 試験で押さえるポイント
候補キーが(A,B)で(A,B)→YかつA→Yが成立するなら、Yは(A,B)に部分関数従属します。B→Yも成立する必要はなく、真部分集合のどれか一つで決まれば部分従属です。
部分関数従属は複合候補キーがある場合に生じます。一属性だけの候補キーには空集合以外の真部分集合がないため、通常、部分従属は問題になりません。
第2正規形では、非キー属性の部分関数従属を除きます。依存先のキー部分とその属性を別表に移し、元表にはそのキー部分を外部キーとして残します。
候補キー全体で初めて決まる完全関数従属、X→YかつY→Zで間接的に決まる推移関数従属と区別します。部分従属は『複合キーの一部』が手掛かりです。
■ 選択肢での判断ポイント
表の候補キーを先に求め、非キー属性ごとにキーの一部で決まるかを確認します。第2正規形への分解では、部分従属する属性を決定項と一緒に切り出して更新時異常を防ぎます。
例: 注文明細表の候補キーが(注文番号, 商品番号)で、注文日が注文番号だけで決まるなら、注文日は複合キーに部分関数従属します。注文(注文番号, 注文日)と注文明細(注文番号, 商品番号, 数量)へ分けます。