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

午前U 問9

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

分類

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

正解

解説

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

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

Pagetop