データベース設計 (全65問中7問目)
No.7
受注入力システムによって作成される次の表に関する記述のうち,適切なものはどれか。受注番号は受注ごとに新たに発行される番号であり,項番は1回の受注で商品コード別に連番で発行される番号である。なお,単価は商品コードによって一意に定まる。
出典:令和3年秋期 問28
- 第1正規形でない。
- 第1正規形であるが第2正規形ではない。
- 第2正規形であるが第3正規形ではない。
- 第3正規形である。
分類
テクノロジ系 » データベース » データベース設計
正解
イ
解説
第3正規形までの正規化は次の手順で行います。
次の手順は第2正規化の手続きで必要となる主キーの特定ですが、設問の表だけを見ても1回の受注データのみなので主キーがはっきりしません。しかし下図のように同じ日に同じ顧客から同じ商品の追加注文があったと仮定すると、ある行を特定できる属性は「"受注番号"と"項番"の組合せ」若しくは「"受注番号"と"商品コード"の組合せ」であることが明確になります。第2正規形への正規化では主キーの一部によって定まる属性を別表に移します。"受注日"と"得意先コード"は"受注番号"に、"単価"は"商品コード"にそれぞれ関数従属しますが、設問の表ではどちらを主キーとした場合でも主キーへの部分関数従属が別表に分離されていないため第2正規形ではないと判断できます。したがって「第1正規形であるが第2正規形ではない」という記述が適切です。
- 第1正規化
- 繰り返し項目をなくす
- 第2正規化
- 主キーの一部によって一意に決まる属性を別表に移す
- 第3正規化
- 主キー以外の属性によって一意に決まる属性を別表に移す
次の手順は第2正規化の手続きで必要となる主キーの特定ですが、設問の表だけを見ても1回の受注データのみなので主キーがはっきりしません。しかし下図のように同じ日に同じ顧客から同じ商品の追加注文があったと仮定すると、ある行を特定できる属性は「"受注番号"と"項番"の組合せ」若しくは「"受注番号"と"商品コード"の組合せ」であることが明確になります。第2正規形への正規化では主キーの一部によって定まる属性を別表に移します。"受注日"と"得意先コード"は"受注番号"に、"単価"は"商品コード"にそれぞれ関数従属しますが、設問の表ではどちらを主キーとした場合でも主キーへの部分関数従属が別表に分離されていないため第2正規形ではないと判断できます。したがって「第1正規形であるが第2正規形ではない」という記述が適切です。