平成22年度 春期 データベーススペシャリスト試験 午前II 問9
【問題9】
次の表を、第3正規形まで正規化を行った場合、幾つの表に分割されるか。ここで、顧客の1回の注文に対して1枚の注文伝票が作られ、顧客は1回の注文で一つ以上の商品を注文できるものとする。

【解説】
この表は第1正規形を満たしていると仮定し、正規化を進めます。
第2正規形 (2NF):
部分従属を排除します。受注番号に依存している顧客コード、顧客名、受注日などの属性を別のテーブルに分けます。また、商品コードに依存している商品名、単価を別のテーブルに分けます。
第3正規形 (3NF):
推移的従属を排除します。顧客コードと顧客名の関係が推移的従属となるため、顧客情報を別のテーブルに分けます。
正規化後、4つのテーブルが必要となります:
- 受注テーブル(受注番号、顧客コード、受注日)
- 顧客テーブル(顧客コード、顧客名)
- 商品テーブル(商品コード、商品名、単価)
- 受注商品テーブル(受注番号、商品コード、受注数、受注金額)
出典:平成22年度 春期 データベーススペシャリスト試験 午前II 問9