2023年 秋期 データベーススペシャリスト 午前 問8

次の表を、第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 Blu-rayプレイヤーB 78,000 3 234,000
2030 B7060 中村商会 2009-07-03 T050 テレビB 90,000 3 270,000
2030 B7060 中村商会 2009-07-03 S172 Blu-rayプレイヤー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 Blu-rayプレイヤー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 Blu-rayプレイヤーB 78,000
T050 テレビB 90,000
K085 無線スピーカーB 25,000
S171 Blu-rayプレイヤー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個(ウ)の表に分割される。

キーワード
・正規化

キーワードの解説
  • 正規化
    データの冗長性をなくしたり、混在している等価な表現を整形したりすることによって、同じ形式でデータを扱えるようにすることです。
    データベースを正規化することでメンテナンス性を良くすることが可能です。
    ただし、表が複数に分割されるためデータベースへのアクセス性は悪化します。

もっと、「正規化」について調べてみよう。

戻る 一覧へ 次へ