データベース設計 (全38問中21問目)
No.21
商品の仕入状況を管理している関係データベースの"仕入一覧"表を正規化して,"仕入"表と"商品"表に分割したい。分割後の二つの表に共通して必要なフィールドとして,最も適切なものはどれか。ここで,仕入れは一度に一つの商品だけを仕入れることとし,仕入番号で一意に識別できる。また,商品は商品番号で一意に識別できる。
出典:平成28年春期 問94
- 仕入番号
- 支払方法
- 商品番号
- 商品名
分類
テクノロジ系 » データベース » データベース設計
正解
ウ
解説
データベースの正規化は、データベースを構築する際にデータの重複や矛盾を排除して、整合性や一貫性を確保するための最適化処理です。
"仕入"表と"商品"表に分離したいので、"商品番号"列の値によって一意に決定される"商品名"、"単価"を、"商品番号"を主キーとする別表に移します。このとき"仕入"表と"商品"表のリレーションシップを残すための外部キーとして"仕入"表には"商品番号"列を残したままにしておきます。つまり、"商品番号"列は"商品"表の主キー、"仕入"表の外部キーとして二つの表に存在することになります。
"仕入"表と"商品"表に分離したいので、"商品番号"列の値によって一意に決定される"商品名"、"単価"を、"商品番号"を主キーとする別表に移します。このとき"仕入"表と"商品"表のリレーションシップを残すための外部キーとして"仕入"表には"商品番号"列を残したままにしておきます。つまり、"商品番号"列は"商品"表の主キー、"仕入"表の外部キーとして二つの表に存在することになります。