IPA過去問ドリル

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

テクノロジ/データベース

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

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

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

正解:ウ

解説

主キーは受注番号と商品コードの組です。受注番号→顧客コード,受注日,顧客名という部分関数従属,商品コード→商品名,単価という部分関数従属があり,さらに顧客コード→顧客名という推移的関数従属もあります。これらを除去すると,受注(受注番号, 顧客コード, 受注日),顧客(顧客コード, 顧客名),受注明細(受注番号, 商品コード, 受注数),商品(商品コード, 商品名, 単価)の 4 表に分割されます。なお受注金額は単価×受注数で導出できる項目です。

選択肢ごとの解説

  • 誤り。2 表では商品や顧客の情報の重複を除去しきれず,第 3 正規形になりません。
  • 誤り。3 表では顧客コード→顧客名の推移的関数従属,または商品の部分関数従属のいずれかが残ってしまいます。
  • 正しい。受注,顧客,受注明細,商品の 4 表に分割することで第 3 正規形になります。
  • 誤り。5 表は必要以上の分割であり,「少なくとも幾つ」という問いの答えにはなりません。
データベーススペシャリストの過去問を演習モードで解く