データベーススペシャリスト試験 2017年 午前207


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

解説

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

要点まとめ

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

正解の理由

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

よくある誤解

第2正規形と第3正規形の違いを「部分関数従属」だけで判断しがちですが、推移的関数従属の存在も見逃さないことが重要です。

解法ステップ

  1. 主キーを特定する(例:社員番号)。
  2. 非キー属性が主キーに完全関数従属しているか確認する(部分関数従属の有無)。
  3. 非キー属性間の関数従属(推移的関数従属)がないか調べる。
  4. 推移的関数従属があれば第3正規形ではないと判断する。
  5. 各選択肢で上記を適用し、条件に合う表を選ぶ。

選択肢別の誤答解説

  • ア:講義名→担当教員が一意に決まるため、部分関数従属はない。推移的関数従属もなく3NFを満たす。
  • イ:社員番号が主キーで、他の属性は社員番号に完全関数従属。推移的関数従属もないため3NF。
  • ウ:社員番号が主キーで第2正規形は満たすが、所属コード→勤務地の推移的関数従属があり3NF違反。
  • エ:趣味が繰返し項目で正規化されていないため、第1正規形すら満たしていない。

補足コラム

正規化はデータの冗長性を減らし、更新異常を防ぐための手法です。第2正規形は「部分関数従属の排除」、第3正規形は「推移的関数従属の排除」がポイントです。推移的関数従属とは、非キー属性が他の非キー属性に依存する関係を指します。

FAQ

Q: 第2正規形と第3正規形の違いは何ですか?
A: 第2正規形は主キーの一部に依存する部分関数従属を排除し、第3正規形は非キー属性間の推移的関数従属を排除します。
Q: 推移的関数従属があると何が問題ですか?
A: データの冗長性が増え、更新時に矛盾や異常が発生しやすくなります。

関連キーワード: 正規化, 第2正規形, 第3正規形, 関数従属, 推移的関数従属, データベース設計
← 前の問題へ次の問題へ →

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