第2種情報処理技術者試験 2000年度 = 平成12年度・秋期 午前 問51

 次の受注表を正規化した構造はどれか。

 受注No   受注日   受注先   商品   数量   単価   合計金額 
1   00/10/01   A S
T

 1,000 
950 
4,900 
2 00/10/01 B S
U
V

10 
1,000 
1,200 
1,800 
22,000 
3 00/10/02 B T 950  7,600 
4 00/10/02 C U 25  1,200  30,000 

 ア 
 受注No  受注日  受注先  合計金額 
 受注No  商品  数量 
 商品  単価 
 イ 
 受注No  受注日  受注先  合計金額 
 受注先  商品  数量 
 商品  単価 
 ウ 
 受注No  受注日  受注先  合計金額 
 受注日  商品  数量 
 商品  単価 
 エ 
 受注No  受注日  受注先  合計金額 
 商品  数量 
 商品  単価 

解答

 ア

解説

 正規化は、データベースの項目の意味内容とデータ項目間の関係を分析して、重複更新などの冗長さや矛盾がないデータを定義することであり、以下に示すように第1正規化、第2正規化、第3正規化の順に行って細分化します。
第1正規化
 データ項目の中で繰り返している部分を分離し、独立したデータ項目の集まり(セグメント)にする。

第2正規化
 キー以外のデータ項目の中でキーになり得るものを探し、キーになり得るものがあれば、そのデータ項目とそれに従属するデータ項目を分離する。

第3正規化
 現実の業務の使用目的に合うようにデータ項目間の関連性を分析し、データ項目の重複を最小限にする。

 与えられた受注表で繰り返し出現する項目は、商品、数量、単価ですから、これらを分離します。

 受注No  受注日  受注先  合計金額 
 受注No  商品  数量  単価 

 右側の表は、商品がキーとなりますので、さらに分割をすると、次のように正規化が完了します。

 受注No  受注日  受注先  合計金額 
 受注No  商品  数量 
 商品  単価 


BohYoh.comトップページへ