過去問解きまくり研究所 ホーム

平成22年度 春期 午前Ⅱ 問9

データベース設計

関数従属に関する問題

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

受注番号顧客コード顧客名受注日商品コード商品名単価受注数受注金額
1055A7053鈴木電気2009-07-01T035テレビ A85,00010850,000
1055A7053鈴木電気2009-07-01K083ラジカセ A23,0005115,000
1055A7053鈴木電気2009-07-01S172ステレオ B78,0003234,000
2030B7060中村商会2009-07-03T050テレビ B90,0003270,000
2030B7060中村商会2009-07-03S172ステレオ B78,00010780,000
3025C9025佐藤電気2009-07-03T035テレビ A85,0003255,000
3025C9025佐藤電気2009-07-03K085ラジカセ B25,000250,000
3025C9025佐藤電気2009-07-03S171ステレオ A50,0008400,000
3090B7060中村商会2009-07-04T050テレビ B90,000190,000
3090B7060中村商会2009-07-04T035テレビ A85,0002170,000
答えと解説を見る

✓ これが正解ウ4

解説

受注、顧客、商品、受注明細の 4 つの表に分割されます。

まず関数従属を整理します。受注番号から顧客コードと受注日が決まり、顧客コードから顧客名が決まります。商品コードから商品名と単価が決まり、受注番号と商品コードの組から受注数と受注金額が決まります。表全体の主キーは受注番号と商品コードの組です。第 2 正規形にするには、主キーの一部に従属する属性を切り出し、受注(受注番号,顧客コード,顧客名,受注日)、商品(商品コード,商品名,単価)、受注明細(受注番号,商品コード,受注数,受注金額)の 3 つに分けます。第 3 正規形では、受注の中で顧客コードを経て決まる顧客名を顧客(顧客コード,顧客名)へ切り出すので、表は 4 つになります。キーの一部で決まる属性、キー以外を経て決まる属性の順に外へ出すと数えられます。

ほかの選択肢はなぜ違うのか

出典:平成22年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)