データベーススペシャリスト平成22年春期 午前Ⅱ 問9

問9

次の表を,第3正規形まで正規化を行った場合,幾つの表に分割されるか。ここで,顧客の1回の注文に対して1枚の受注伝票が作られ,顧客は1回の注文で一つ以上の商品を注文できるものとする。
09.png/image-size:490×253
  • 2
  • 3
  • 4
  • 5
  • [出題歴]
  • データベース R5秋期 問8
  • データベース H17春期 問26
  • データベース H19春期 問25

分類

テクノロジ系 » データベース » データベース設計

正解

解説

設問の表には繰返し項目がなく既に第1正規形を満たしているため、始めに主キーについて考えます。1回の注文に対して1つの受注番号が付与され、1つの受注には複数の商品が含まれることから、受注番号と商品番号の組合せを複合主キーとすることで表内の1行を一意に決定できることがわかります。

次に第2正規化を行います。第2正規化では主キーの一部に関数従属する属性(部分従属関係)を別表に移します。設問の表を確認すると以下の5つの部分関数従属が存在するので、この関係を別表に移します。
  • 受注番号 → 顧客コード
  • 受注番号 → 顧客名
  • 受注番号 → 受注日
  • 商品コード → 商品名
  • 商品コード → 単価
09_1.png/image-size:420×413
最後に第3正規化を行います。第3正規化では非キー属性に関数従属する属性(推移的従属関係)を別表に移します。3つの表の属性のうち「顧客コード→顧客名」の関係がこれに該当するため、この関係を別表に移します。
09_2.png/image-size:420×413
以上で第3正規形までの正規化は終了します。表は4つに分解されるため「ウ」が正解です。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop