データベーススペシャリスト試験 2012年 午前208


第2正規形であるが第3正規形でない表はどれか。ここで, 講義名に対して担当教員は一意に決まり, 所属コードに対して勤務地は一意に決まるものとする。また, { }は繰返し項目を表し、実線の下線は主キーを表す。
選択肢画像
(正解)

解説

第2正規形であるが第3正規形でない表はどれか【午前2 解説】

要点まとめ

  • 結論:選択肢ウは第2正規形(2NF)だが第3正規形(3NF)ではない表である。
  • 根拠:所属コード→勤務地の部分関数従属が存在し、非キー属性間の推移的関数従属があるため3NF違反となる。
  • 差がつくポイント:2NFと3NFの違いを理解し、推移的関数従属の有無を見抜くことが重要である。

正解の理由

選択肢ウの表は「社員番号」が主キーであり、すべての属性は社員番号に完全関数従属しているため2NFを満たしています。しかし、「所属コード」から「勤務地」が一意に決まるため、非キー属性「勤務地」が別の非キー属性「所属コード」に依存しています。これは推移的関数従属に該当し、第3正規形の条件を満たしません。したがって、ウが第2正規形でありながら第3正規形でない表です。

よくある誤解

非キー属性間の依存関係を見落とし、2NFと3NFの違いを混同しやすい点に注意が必要です。単純な部分関数従属だけで判断しがちですが、推移的関数従属も確認しましょう。

解法ステップ

  1. 主キーを確認し、すべての非キー属性が主キーに完全関数従属しているかを確認する(2NFの判定)。
  2. 非キー属性間に関数従属(推移的関数従属)がないかを調べる(3NFの判定)。
  3. 問題文の条件(講義名→担当教員、所属コード→勤務地)を利用して依存関係を特定する。
  4. 各選択肢の表を比較し、推移的関数従属があるものを選ぶ。

選択肢別の誤答解説

  • ア:講義名→担当教員が一意に決まるが、主キーは学生番号+講義名の複合キーであり、部分関数従属はないため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正規形, 関数従属, 推移的関数従属, データベース設計, 主キー
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ