令和7年度 秋期 データベーススペシャリスト試験 午前II 問6

テクノロジデータベース

この問題は2025(R7)秋 データベーススペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

次の表に対して,第3正規形まで正規化を行った場合,少なくとも幾つの表に分割されるか。ここで,顧客の1回の注文に対して一つの受注番号が割り当てられ,顧客は1回の注文で一つ以上の商品を注文できるものとする。

受注データの表
図の説明テキスト
受注番号 顧客コード 顧客名 受注日 商品コード 商品名 単価 受注数 受注金額
1055 A7053 鈴木電気 2025-07-01 T035 テレビA 85,000 10 850,000
1055 A7053 鈴木電気 2025-07-01 K083 無線スピーカーA 23,000 5 115,000
1055 A7053 鈴木電気 2025-07-01 S172 Blu-rayプレイヤーB 78,000 3 234,000
2030 B7060 中村商会 2025-07-03 T050 テレビB 90,000 3 270,000
2030 B7060 中村商会 2025-07-03 S172 Blu-rayプレイヤーB 78,000 10 780,000
3025 C9025 佐藤電気 2025-07-03 T035 テレビA 85,000 3 255,000
3025 C9025 佐藤電気 2025-07-03 K085 無線スピーカーB 25,000 2 50,000
3025 C9025 佐藤電気 2025-07-03 S171 Blu-rayプレイヤーA 50,000 8 400,000
3090 B7060 中村商会 2025-07-04 T050 テレビB 90,000 1 90,000
3090 B7060 中村商会 2025-07-04 T035 テレビA 85,000 2 170,000

解答・解説を読む

正解: 選択肢

第3正規形までの正規化プロセスは以下の手順で行われます。実際の業務システムでよく見られる「受注」のデータを想定して解説します。対象となる表が初期状態(非正規形)として「受注番号、顧客番号、顧客名、商品番号、商品名、数量」などの情報を持っていると考えます。これを正規化していきます。

  1. 第1正規形(繰り返し項目の排除) 「顧客は1回の注文で一つ以上の商品を注文できる」ため、1つの受注情報の中に複数の商品情報が含まれることになります(繰り返し項目)。これを分離し、例えば主キーを「受注番号」とする「受注表(受注番号, 顧客番号, 顧客名)」と、主キーを「受注番号+商品番号」とする「受注明細表(受注番号, 商品番号, 商品名, 数量)」の2つに分けます。
  2. 第2正規形(部分関数従属の排除) 複合主キーの一部にのみ従属する項目を別の表に分離します。「受注明細表」の主キーは複合キーですが、「商品名」は「商品番号」のみに 部分関数従属 しています。これを分離し、「商品表(商品番号, 商品名)」を作成します。
  3. 第3正規形(推移的関数従属の排除) 主キー以外の項目に従属する項目を別の表に分離します。「受注表」において、「顧客名」は主キーである「受注番号」ではなく「顧客番号」に 推移的関数従属 しています。これを分離し、「顧客表(顧客番号, 顧客名)」を作成します。 以上の手順により、最終的に以下の 4つ の表に分割されます。
  • 受注表(受注番号, 顧客番号など) - 受注明細表(受注番号, 商品番号, 数量など) - 顧客表(顧客番号, 顧客名など) - 商品表(商品番号, 商品名など) したがって、少なくとも4つの表に分割されます。

各選択肢の解説

  • : 2つに分割した状態は、第1正規形(繰り返し項目の分離のみ)を適用した段階などに相当し、正規化が不十分です。
  • : 3つに分割した状態は、第2正規形(部分関数従属の分離)まで適用した段階などに相当し、推移的関数従属が残っています。
  • : 正解です。第3正規形まで正規化した結果、4つの表に分割されます。
  • : 第3正規形までの正規化プロセスにおいては、通常5つへの分割は発生しません。