受注表の正規形
出典: 令和3年度 秋期 応用情報技術者試験 午前 問28 (IPA)
受注入力システムによって作成される次の表に関する記述のうち,適切なものはどれか。受注番号は受注ごとに新たに発行される番号であり,項番は 1 回の受注で商品コード別に連番で発行される番号である。
なお,単価は商品コードによって一意に定まる。
| 受注日 | 受注番号 | 得意先コード | 項番 | 商品コード | 数量 | 単価 |
|---|---|---|---|---|---|---|
| 2021-03-05 | 995867 | 0256 | 1 | 20121 | 20 | 20,000 |
| 2021-03-05 | 995867 | 0256 | 2 | 24005 | 10 | 15,000 |
| 2021-03-05 | 995867 | 0256 | 3 | 28007 | 5 | 5,000 |
- ア 第 1 正規形でない。
- イ 第 1 正規形であるが第 2 正規形でない。
- ウ 第 2 正規形であるが第 3 正規形でない。
- エ 第 3 正規形である。
正解と解説を見る
正解: イ
- ア: 各欄に値が 1 つずつ入っていて繰返し項目もないので、第 1 正規形にはなっています。
- イ: 受注日・得意先コードが主キーの一部 (受注番号) だけで決まる部分関数従属があるので、第 1 正規形ですが第 2 正規形ではありません。正しい記述です。
- ウ: 受注日・得意先コードの部分関数従属が残っているので、第 2 正規形ではありません。
- エ: 部分関数従属も、単価が商品コードで決まる推移的関数従属もあるので、第 3 正規形ではありません。
ポイント
- 1 行を特定する主キーは {受注番号,項番} です。各欄に値が 1 つずつ入っているので、第 1 正規形です。
- 受注日と得意先コードは 受注番号だけ で決まります。主キーの一部だけに依存する (部分関数従属) 項目があるので、第 2 正規形ではありません。
- (単価は商品コードで決まる推移的な従属もあります)