第2正規形であるが第3正規形でない表はどれか【午前2 解説】
要点まとめ
- 結論:選択肢ウは第2正規形(2NF)だが第3正規形(3NF)ではない表である。
- 根拠:所属コード→勤務地の部分関数従属が存在し、非キー属性間の推移的関数従属があるため3NF違反となる。
- 差がつくポイント:2NFと3NFの違いを理解し、推移的関数従属の有無を見抜くことが重要である。
正解の理由
選択肢ウの表は「社員番号」が主キーであり、すべての属性は社員番号に完全関数従属しているため2NFを満たしています。しかし、「所属コード」から「勤務地」が一意に決まるため、非キー属性「勤務地」が別の非キー属性「所属コード」に依存しています。これは推移的関数従属に該当し、第3正規形の条件を満たしません。したがって、ウが第2正規形でありながら第3正規形でない表です。
よくある誤解
非キー属性間の依存関係を見落とし、2NFと3NFの違いを混同しやすい点に注意が必要です。単純な部分関数従属だけで判断しがちですが、推移的関数従属も確認しましょう。
解法ステップ
- 主キーを確認し、すべての非キー属性が主キーに完全関数従属しているかを確認する(2NFの判定)。
- 非キー属性間に関数従属(推移的関数従属)がないかを調べる(3NFの判定)。
- 問題文の条件(講義名→担当教員、所属コード→勤務地)を利用して依存関係を特定する。
- 各選択肢の表を比較し、推移的関数従属があるものを選ぶ。
選択肢別の誤答解説
- ア:講義名→担当教員が一意に決まるが、主キーは学生番号+講義名の複合キーであり、部分関数従属はないため2NFかつ3NF。
- イ:社員番号が主キーで、非キー属性間の依存関係はなく、3NFを満たす。
- ウ:社員番号が主キーで2NFを満たすが、所属コード→勤務地の推移的関数従属があり3NF違反。
- エ:趣味が繰返し項目で正規化の対象外だが、主キーに完全関数従属し、推移的関数従属もないため3NF。
補足コラム
第2正規形(2NF)は「主キーの一部にのみ依存する属性がない」ことを意味し、第3正規形(3NF)は「非キー属性間の推移的関数従属がない」ことを意味します。推移的関数従属は、非キー属性が他の非キー属性に依存している状態であり、これを解消するためにテーブルを分割します。
FAQ
Q: 第2正規形と第3正規形の違いは何ですか?
A: 2NFは部分関数従属の排除、3NFは推移的関数従属の排除に着目しています。3NFは2NFの条件を満たした上でさらに非キー属性間の依存をなくします。
Q: 推移的関数従属とは何ですか?
A: 非キー属性Aが非キー属性Bに依存し、Bが主キーに依存している場合、Aは主キーに推移的に依存している状態を指します。
関連キーワード: 正規化、第2正規形、第3正規形、関数従属、推移的関数従属、データベース設計、主キー