平成22年度 春期 午前 問30
データベース
第3正規形に書き換えたもの
“発注伝票”表を第3正規形に書き換えたものはどれか。ここで,下線部は主キーを表す。
発注伝票(_注文番号_,_商品番号_,商品名,注文数量)
- ア発注(_注文番号_,注文数量) / 商品(_商品番号_,商品名)
- イ発注(_注文番号_,注文数量) / 商品(_注文番号_,_商品番号_,商品名)
- ウ発注(_注文番号_,_商品番号_,注文数量) / 商品(_商品番号_,商品名)
- エ発注(_注文番号_,_商品番号_,注文数量) / 商品(_商品番号_,商品名,注文数量)
答えと解説を見る
✓ これが正解ウ発注(_注文番号_,_商品番号_,注文数量) / 商品(_商品番号_,商品名)
解説
主キーの一部だけで決まる商品名を切り出します。
もとの表は、注文番号と商品番号の二つそろって初めて一行が定まる作りになっています。この表の中で、注文数量は二つそろわないと決まりません。ところが商品名は商品番号さえ分かれば決まってしまい、注文番号は関わっていません。第3正規形へ進める作業は、こうした食い違いをなくすことです。そこで商品名を商品番号とともに別の表へ移し、もとの表には二つそろって決まる注文数量だけを残します。切り出した後も、商品番号を手がかりに二つの表を突き合わせればもとの内容に戻せます。判定の軸は、切り出した先の主キーが商品名を決めるのにちょうど足りているか、そしてもとの表に戻せる形が保たれているかです。
ほかの選択肢はなぜ違うのか
- ア発注(_注文番号_,注文数量) / 商品…:注文の側から商品番号を落としています。これでは一つの注文で複数の商品を扱えず、どの商品を何個という結び付きも消えるため、もとの内容へ戻せなくなります。
- イ発注(_注文番号_,注文数量) / 商品…:切り出した側に注文番号が残っています。商品名は商品番号だけで決まるのに、注文のたびに同じ名前を繰り返し抱えることになり、食い違いを取り除いたことになりません。
- エ発注(_注文番号_,_商品番号_,注文数…:注文数量が両方の表に置かれています。切り出した側は商品番号だけで一行が定まるので、注文ごとに変わる数量をそこへ持たせると、どちらの値が正しいのか決められなくなります。
出典:平成22年度 春期 基本情報技術者試験 午前 問30
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)