問題
関係データベースの正規化において、第3正規形(3NF)の条件として正しいものはどれか。
選択肢
- 1繰り返し項目を含まない
- 2主キーの一部に関数従属する非キー属性が存在しない
- 3主キーに完全関数従属し、非キー属性間に推移的関数従属が存在しない
- 4すべての従属が候補キーへの直接従属である
正解
3. 主キーに完全関数従属し、非キー属性間に推移的関数従属が存在しない
詳しい解説を見る解説を閉じる
解説
第3正規形(3NF)は、第2正規形を満たした上で、非キー属性が主キーに推移的に関数従属しない(主キー→非キー属性→別の非キー属性という従属の連鎖がない)状態である。例えば「社員番号→部署コード→部署名」という従属があれば、部署コードと部署名を別表に分離して解消する。これにより部署名変更時に複数行を修正する更新時異常を防げる。繰返し項目を含まないことは第1正規形、主キーの一部への部分関数従属の排除は第2正規形の説明である。すべての関数従属の決定項が候補キーであることを求めるのはボイス・コッド正規形(BCNF)で、3NFよりさらに厳しい。「1NF=繰返し排除、2NF=部分従属排除、3NF=推移従属排除」と段階で覚えると判別が速い。
一問一答
全400問を繰り返し学習