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

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

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

 ア  2
 イ  3
 ウ  4
 エ  5


答え ウ


解説
この表は重複する項目がないので第1正規形である。
顧客名は顧客コードから、商品名と単価は商品コードから一意に決まるので別の表に分割し第2正規形になる。

受注番号 顧客コード 受注日 商品コード 受注数 受注金額
1055 A7053 2009-07-01 T035 10 850,000
1055 A7053 2009-07-01 K083 5 115,000
1055 A7053 2009-07-01 S172 3 234,000
2030 B7060 2009-07-03 T050 3 270,000
2030 B7060 2009-07-03 S172 10 780,000
3025 C9025 2009-07-03 T035 3 255,000
3025 C9025 2009-07-03 K085 2 50,000
3025 C9025 2009-07-03 S171 8 400,000
3090 B7060 2009-07-04 T050 1 90,000
3090 B7060 2009-07-04 T035 2 170,000

顧客コード 顧客名
A7053 鈴木電気
B7060 中村商会
C9025 佐藤電気
B7060 中村商会

商品コード 商品名 単価
T035 テレビA 85,000
K083 ラジカセA 23,000
S172 ステレオB 78,000
T050 テレビB 90,000
K085 ラジカセB 25,000
S171 ステレオA 50,000
さらに、受注日は受注番号から推移的に決まるので別の表に分割し、第3正規形になる。
受注番号 顧客コード 商品コード 受注数 受注金額
1055 A7053 T035 10 850,000
1055 A7053 K083 5 115,000
1055 A7053 S172 3 234,000
2030 B7060 T050 3 270,000
2030 B7060 S172 10 780,000
3025 C9025 T035 3 255,000
3025 C9025 K085 2 50,000
3025 C9025 S171 8 400,000
3090 B7060 T050 1 90,000
3090 B7060 T035 2 170,000

受注番号 受注日
1055 2009-07-01
2030 2009-07-03
3025 2009-07-03
3090 2009-07-04
したがって、第3正規形にすると合計4個(ウ)の表に分割される。


キーワード
・正規化

キーワードの解説

戻る 一覧へ 次へ