IT資格用語解説基本情報技術者試験・データの正規化
推移関数従属
更新日:
用語解説
推移関数従属は、X→YとY→Zが成立することで、ZがXからYを介して間接的に決まる関係です。候補キーから非キー属性への不要な推移従属は、第3正規形への分解で除去します。
■ 試験で押さえるポイント
社員番号→部門番号、部門番号→部門名なら、社員番号→部門名が推移的に成立します。部門名は社員番号から直接の業務事実として決まるのではなく、部門番号を経由して決まります。
第3正規形は第2正規形であり、非キー属性が候補キーへ推移関数従属しない状態と捉えると過去問を解きやすくなります。厳密にはX→AごとにXがスーパーキー又はAがキー属性であることを求めます。
推移従属を残すと、同じ部門名を複数社員行へ重複格納し、名称変更の更新漏れ、最後の社員削除による部門情報消失、社員未所属時の登録不能が起こります。
第2正規形が除くのは複合キーの一部への依存、第3正規形が主に除くのは非キー属性を介した依存です。『キーの一部』か『非キー属性を経由』かで見分けます。
■ 選択肢での判断ポイント
関数従属を矢印で並べ、候補キーX→非キーY→非キーZという鎖を探します。YとZを別表へ切り出し、元表にはYを外部キーとして残せば、Zの重複と更新時異常を除けます。
例: 社員(社員番号, 氏名, 部門番号, 部門名)は、社員番号→部門番号→部門名を含みます。社員(社員番号, 氏名, 部門番号)と部門(部門番号, 部門名)へ分解すると第3正規形になります。