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

テクノロジデータベース

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

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

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

受注明細データの表
図の説明テキスト

第3正規形への正規化を問うための表。受注明細データ。

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

解答・解説を読む

正解: 選択肢

非正規形の受注伝票を第3正規形まで正規化する手順は以下の通りです。

  1. 第1正規形への変換:繰り返し項目(明細行など)を分離します。

    • 分割後:「受注表」と「受注明細表」
  2. 第2正規形への変換:複合主キーの一部に部分関数従属している属性を分離します。

    • 「受注明細表」の主キー(受注番号、商品番号)のうち、商品番号にのみ従属する商品情報を分離します。
    • 分割後:「受注表」、「受注明細表」、「商品表」
  3. 第3正規形への変換:主キー以外の属性に推移的関数従属している属性を分離します。

    • 「受注表」の主キー(受注番号)に従属する顧客番号があり、さらに顧客番号に従属する顧客情報を分離します。
    • 分割後:「受注表」、「顧客表」、「受注明細表」、「商品表」

最終的に、「受注表」「受注明細表」「商品表」「顧客表」の少なくとも 4つ の表に分割されます。

各選択肢の解説

  • ア 2: 誤り。繰り返し項目のみを分離した第1正規形の状態(受注表と受注明細表など)であり、正規化が不十分です。
  • イ 3: 誤り。第2正規形まで進めた状態、あるいは顧客情報の分離(推移的関数従属の排除)を見落とした状態です。
  • ウ 4: 正解。第3正規形まで正しく正規化すると、少なくとも4つの表になります。
  • エ 5: 誤り。不要な表へ過剰に分割した場合や、誤った属性の分離を行った場合の数です。