中小企業診断士 第1次試験 データベースとネットワーク・システム構成 練習問題 第1問: 次の表「受注明細」は、主キーが(受注番号, 明細番号)の組である。1件の受注には受注日が1つあり、受注日は受注番号だけで決まる。商品名は商品番号だけで決まり、商
次の表「受注明細」は、主キーが(受注番号, 明細番号)の組である。1件の受注には受注日が1つあり、受注日は受注番号だけで決まる。商品名は商品番号だけで決まり、商品番号と数量は主キー全体で決まる。
| 受注番号 | 明細番号 | 受注日 | 商品番号 | 商品名 | 数量 |
|---|---|---|---|---|---|
| 1001 | 1 | 2026-10-01 | P10 | ボールペン | 20 |
| 1001 | 2 | 2026-10-01 | P20 | ノート | 5 |
| 1002 | 1 | 2026-10-03 | P10 | ボールペン | 8 |
この表の正規化に関する記述として、最も適切なものはどれか。
解答と解説を先に見る
先に見ると、この問題は今回は育ちません。
正解: 4. 受注日は主キーの一部である受注番号だけで決まるので、受注番号と受注日を別の表に分ける操作は、第2正規形にするための分割に当たる。
「受注日は主キーの一部である受注番号だけで決まるので…第2正規形にするための分割に当たる」が適切です。主キーが複数の列の組であるとき、主キーでない列が主キーの一部だけで決まる関係を部分関数従属といい、これを取り除いた状態が第2正規形です。
受注日は明細番号に関係なく受注番号だけで決まるので、受注番号と受注日の表に分けます。一方、商品名は主キーでない商品番号を通して決まる推移的関数従属なので、商品番号と商品名を分けるのは第3正規形にするための分割で、第2正規形と取り違えています。
推移的関数従属を取り除くことを第1正規形とするのも誤りです。第1正規形は、1行の中で項目を繰り返さない形(繰り返し項目の排除)です。
したがって、商品番号と数量の繰り返しを1行1組に直すのは第1正規形の作業で、第3正規形ではありません。正規化の主な目的はデータの重複と矛盾を減らすことで、表を分けると問合せで結合する表はむしろ増え、検索によっては遅くなることもあります。
部分関数従属は第2正規形、推移的関数従属は第3正規形と、従属の種類と正規形を対応させて押さえましょう。
関連キーワード: 正規化・第2正規形・部分関数従属・推移的関数従属
2026年度版 みんなが欲しかった! 中小企業診断士の教科書 (下) 経済学・経済政策、経営情報システム、経営法務、中小企業経営・中小企業政策
Amazon でテキストを見る模試 (25問)
この問題が解けたら、本試験はどうですか?本番形式で、ほかの科目もまとめて確かめる
本番形式の模擬試験で実力チェックPremium (月980円)Premium (ご利用中)制限時間 1時間