スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2386
関係データベースの正規化の文脈において、ある属性の値を決定する側である「決定子」が、候補キーではない属性(非キー属性)となっている場合に、その依存関係を排除して第3正規形に落とし込む操作の基礎となる概念はどれか。

【正解の解説】

推移的関数従属

人間関係に例えると「A君がB君を知っていて、B君がC君の秘密を知っている」ため、A君がC君の秘密まで分かってしまう状態です。データベースでは「社員番号→部署コード→部署名」のように、主キー以外を経由して値が決まる無駄な連鎖を断ち切り、第3正規形にするためにこの依存関係を解消します。

スポンサーリンク

【その他の選択肢の解説】

部分関数従属

初学者が「推移的関数従属」と最も混同しやすい用語です。こちらは「社員番号とプロジェクト番号」という2つの柱(複合主キー)がある場合に、どちらか片方の情報だけで決まる属性がある状態(第2正規形のテーマ)を指しており、非キー属性が決定子になる今回の問題の状況とはズレています。

多値関数従属

こちらは第4正規化の対象となる高度な用語です。例えば「1人の社員が複数のスキルと複数の資格を持つ」ように、1対多の多重データが複数存在してデータが重複するトラブルを防ぐためのものなので、非キー属性が値を決める今回の問題とは話の次元が異なります。

全関数従属

これは第2正規形をクリアするための大前提となる正常な状態であり、排除すべき「問題のある依存関係」ではありません。一部のキーだけで決まる部分関数従属を解消した結果として得られる望ましい姿なので、依存関係を排除するという文脈の今回は正反対の意味になります。