一つの表で管理されていた受注データを,受注に関する情報と商品に関する情報に分割して,正規化を行った上で関係データベースの表で管理する。正規化を行った結果の表の組合せとして,最も適切なものはどれか。ここで,同一商品で単価が異なるときは商品番号も異なるものとする。また,発注者名には同姓同名はいないものとする。 〔受注データ〕
| 受注番号 | 発注者名 | 商品番号 | 商品名 | 個数 | 単価 |
| T0001 | 試験花子 | M0001 | 商品1 | 5 | 3,000 |
| T0002 | 情報太郎 | M0002 | 商品2 | 3 | 4,000 |
| T0003 | 高度秋子 | M0001 | 商品1 | 2 | 3,000 |
- ア表1[受注番号, 発注者名] / 表2[商品番号, 商品名, 個数, 単価]
- イ表1[受注番号, 発注者名, 商品番号] / 表2[商品番号, 商品名, 個数, 単価]
- ウ表1[受注番号, 発注者名, 商品番号, 個数, 単価] / 表2[商品番号, 商品名]
- エ表1[受注番号, 発注者名, 商品番号, 個数] / 表2[商品番号, 商品名, 単価]
正解と解説を見る
正解
エ 表1[受注番号, 発注者名, 商品番号, 個数] / 表2[商品番号, 商品名, 単価]
正規化では、繰り返し発生する項目とその項目に従属する値を別表に分離します。単価は「商品番号」に従属する項目(同一商品なら単価も同じで、単価が異なれば商品番号も変わる設定のため)なので商品表に移し、個数は受注ごとに変わる値なので受注表に残します。よって受注表[受注番号, 発注者名, 商品番号, 個数]と商品表[商品番号, 商品名, 単価]に分割するのが適切です。