ホーム > データベーススペシャリスト試験 > 2020年
データベーススペシャリスト試験 2020年 午前2 問05
第2正規形であるが第3正規形でない表はどれか。ここで講義名に対して担当教員は一意に決まり、所属コードに対して勤務地は一意に決まるものとする。また{}は繰返し項目を表し、実線の下線は主キーを表す。

ア:
イ:
ウ:(正解)
エ:
解説
第2正規形であるが第3正規形でない表はどれか【午前2 解説】
要点まとめ
- 結論:選択肢ウは第2正規形(2NF)だが第3正規形(3NF)ではない表である。
- 根拠:所属コード→勤務地の関数従属があり、主キー以外の属性間に部分従属が存在するため。
- 差がつくポイント:第3正規形は主キー以外の属性同士の関数従属を排除することが重要で、これを見抜けるかが鍵。
正解の理由
選択肢ウの表は「社員番号」が主キーであり、「所属コード」に対して「勤務地」が一意に決まる関係があるため、主キー以外の属性間に関数従属が存在します。これは第2正規形の条件(主キーの部分集合に依存しない)を満たしているものの、第3正規形の条件(主キー以外の属性が他の非キー属性に依存しない)を満たしていません。したがって、ウが第2正規形で第3正規形でない表です。
よくある誤解
第2正規形と第3正規形の違いを「主キーに依存しているかどうか」だけで判断しがちですが、非キー属性間の依存関係も重要です。
解法ステップ
- 主キーを確認する(例:社員番号、学生番号など)
- 各属性が主キー全体に依存しているかを確認し、第2正規形か判定する
- 主キー以外の属性間に関数従属がないかを調べ、第3正規形か判定する
- 問題文の条件(講義名→担当教員、所属コード→勤務地)を踏まえて依存関係を整理する
- 依存関係に基づき、第2正規形だが第3正規形でない表を選ぶ
選択肢別の誤答解説
- ア:講義名→担当教員の関係はあるが、主キーは(学生番号, 講義名)であり、部分従属はないため第3正規形。
- イ:社員番号が主キーで、他の属性はすべて社員番号に完全関数従属。非キー属性間の依存なし。
- ウ:社員番号が主キー。所属コード→勤務地の関数従属があり、非キー属性間の依存が存在し第3正規形ではない。
- エ:趣味が繰返し項目で正規化の対象外。主キーは社員番号で、他の属性は完全関数従属。
補足コラム
第2正規形は「主キーの一部に依存する属性を排除」すること、第3正規形は「主キー以外の属性間の依存を排除」することが目的です。第3正規形を満たすことで、データの冗長性や更新異常を防ぎます。
FAQ
Q: 第2正規形と第3正規形の違いは何ですか?
A: 第2正規形は主キーの部分集合に依存する属性を排除し、第3正規形は主キー以外の属性間の依存を排除します。
A: 第2正規形は主キーの部分集合に依存する属性を排除し、第3正規形は主キー以外の属性間の依存を排除します。
Q: 繰返し項目は正規化の対象になりますか?
A: 繰返し項目は第1正規形の違反なので、まず第1正規形に正規化する必要があります。
A: 繰返し項目は第1正規形の違反なので、まず第1正規形に正規化する必要があります。
関連キーワード: 正規化, 第2正規形, 第3正規形, 関数従属, 主キー, データベース設計