応用情報技術者 2021年 秋期 午前2 問28
問題文
受注入力システムによって作成される次の表に関する記述のうち、適切なものはどれか。受注番号は受注ごとに新たに発行される番号であり、項番は1回の受注で商品コード別に連番で発行される番号である。
なお、単価は商品コードによって一意に定まる。

選択肢
ア:第1正規形でない。
イ:第1正規形であるが第2正規形でない。(正解)
ウ:第2正規形であるが第3正規形でない。
エ:第3正規形である。
受注入力システムの表に関する正規化問題【午前2 解説】
要点まとめ
- 結論:この表は第1正規形(1NF)であるが、第2正規形(2NF)ではない。
- 根拠:受注番号+項番の複合主キーに対し、単価が商品コードに依存し部分関数従属しているため。
- 差がつくポイント:部分関数従属の理解と、正規形の段階ごとの条件を正確に把握することが重要。
正解の理由
この表の主キーは「受注番号」と「項番」の複合キーです。
単価は「商品コード」によって一意に決まるため、主キーの一部(項番)ではなく「商品コード」に依存しています。
つまり、単価は主キー全体に依存せず、部分的に依存しているため、第2正規形の条件を満たしません。
しかし、表は繰り返しグループや複数値属性がなく、すべての属性が原子値であるため、第1正規形は満たしています。
よって「イ: 第1正規形であるが第2正規形でない」が正解です。
単価は「商品コード」によって一意に決まるため、主キーの一部(項番)ではなく「商品コード」に依存しています。
つまり、単価は主キー全体に依存せず、部分的に依存しているため、第2正規形の条件を満たしません。
しかし、表は繰り返しグループや複数値属性がなく、すべての属性が原子値であるため、第1正規形は満たしています。
よって「イ: 第1正規形であるが第2正規形でない」が正解です。
よくある誤解
単価が主キーに依存していると誤解しやすいですが、実際は商品コードに依存しています。
また、第1正規形と第2正規形の違いを混同し、すぐに第3正規形まで判断するケースも多いです。
また、第1正規形と第2正規形の違いを混同し、すぐに第3正規形まで判断するケースも多いです。
解法ステップ
- 主キーを特定する(この場合は「受注番号」と「項番」の複合キー)。
- 各属性が主キー全体に関数従属しているか確認する。
- 部分的に依存している属性(単価が商品コードに依存)を見つける。
- 第1正規形の条件(原子値、繰り返しなし)を満たしているか確認。
- 以上から第1正規形は満たすが、第2正規形は満たさないと判断する。
選択肢別の誤答解説
- ア: 「第1正規形でない」→原子値で繰り返しもないため誤り。
- イ: 「第1正規形であるが第2正規形でない」→正解。
- ウ: 「第2正規形であるが第3正規形でない」→単価の部分関数従属があるため第2正規形ではない。
- エ: 「第3正規形である」→第2正規形を満たしていないため第3正規形も満たさない。
補足コラム
正規化はデータの冗長性を減らし、更新異常を防ぐための手法です。
第1正規形は「すべての属性が原子値であること」、第2正規形は「部分関数従属がないこと」、第3正規形は「推移的関数従属がないこと」が条件です。
今回のように複合キーがある場合、部分関数従属の有無を見極めることが重要です。
第1正規形は「すべての属性が原子値であること」、第2正規形は「部分関数従属がないこと」、第3正規形は「推移的関数従属がないこと」が条件です。
今回のように複合キーがある場合、部分関数従属の有無を見極めることが重要です。
FAQ
Q: なぜ単価は主キーに依存しないのですか?
A: 単価は商品コードによって一意に決まるため、主キーの一部ではなく商品コードに依存しています。
A: 単価は商品コードによって一意に決まるため、主キーの一部ではなく商品コードに依存しています。
Q: 第1正規形と第2正規形の違いは何ですか?
A: 第1正規形は属性が原子値であること、第2正規形は主キーの部分集合に依存する属性がないことを指します。
A: 第1正規形は属性が原子値であること、第2正規形は主キーの部分集合に依存する属性がないことを指します。
関連キーワード: 正規化、第1正規形、第2正規形、部分関数従属、複合主キー、データベース設計

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

