メインコンテンツへ
データベース

関係データベースの第3正規形の条件として正しいものはどれか。

ア.繰返し項目が存在しない
イ.主キー以外の全ての属性が主キーに完全関数従属している
ウ.主キー以外の属性間に推移的関数従属が存在しない正解
エ.全ての属性が候補キーの一部である

解説

第3正規形は『寄り道禁止』ルール。主キーから属性への道に『中継ぎ』が挟まっていたら失格です。

なぜ ウ が正解か

推移的関数従属とは「社員番号→部署コード→部署電話番号」のように、主キーが別の非キー属性を経由して初めて値が決まる『連鎖』のこと。3NFはこの経由地を許しません。部署情報は別テーブルに独立させて、主キーから各属性へ直通ルートだけ残すのが正しい姿です。

なぜ ア は間違いか

繰り返し項目の排除は第1正規形(1NF)の条件です。3NFにたどり着く前の『スタート地点』なので、これを3NFの条件と呼ぶのは卒業式に入学式の話をするようなもの。

なぜ イ は間違いか

主キーへの完全関数従属(部分従属の排除)は第2正規形(2NF)の条件です。3NFはその先の話。2NFをクリアしても『経由地あり』の推移従属は残るので、ゴールと手前の関門を混同しないようにしましょう。

なぜ エ は間違いか

「全属性が候補キーの一部」はBCNF(ボイス・コッド正規形)の雰囲気に近いですが、正確にはそれとも違います。これが成り立つ表は非キー属性がそもそも存在しない超ストイックな設計で、現実にはほぼ出現しません。試験で見かけたら「それ別の話」と笑って流しましょう。

出典: 基本情報技術者試験 令和5年 サンプル問題