一つの表で管理されていた受注データを,受注に関する情報と商品に関する情報に分割して,正規化を行った上で関係データベースの表で管理する。正規化を行った結果の表の組合せとして,最も適切なものはどれか。ここで,同一商品で単価が異なるときは商品番号も異なるものとする。また,発注者名には同姓同名はいないものとする。 受注データ(元の表)の列:受注番号,発注者名,商品番号,商品名,個数,単価 例:T0001/試験花子/M0001/商品1/5/3,000,T0002/情報太郎/M0002/商品2/3/4,000,T0003/高度秋子/M0001/商品1/2/3,000 各選択肢は2つの表(受注表・商品表)への分割案。

テクノロジ系・一部改変

ア 受注表={受注番号,発注者名}/商品表={商品番号,商品名,個数,単価}

なぜ違う: 個数は商品ではなく受注ごとに決まる属性で、商品表に置くのは誤り。

イ 受注表={受注番号,発注者名,商品番号}/商品表={商品番号,商品名,個数,単価}

なぜ違う: 個数を商品表に置いており、個数は受注に依存する属性なので誤り。

ウ 受注表={受注番号,発注者名,商品番号,個数,単価}/商品表={商品番号,商品名}

なぜ違う: 単価は商品番号で決まるので商品表に置くべきで、受注表に残すのは冗長で誤り。

エ 受注表={受注番号,発注者名,商品番号,個数}/商品表={商品番号,商品名,単価}

正解: エ

要点: 商品名と単価は商品番号で決まるので商品表へ、個数は受注ごとなので受注表に残す。

商品番号が決まれば商品名と単価が一意に定まるため、商品名・単価は商品表に持つ。個数は受注ごとに異なるため受注表に残す。よって受注表={受注番号,発注者名,商品番号,個数}、商品表={商品番号,商品名,単価}が正しい正規化。

この問題に出てくる用語

関連キーワード: 正規化・関係データベース・図あり

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

ITパスポートの学習アプリ(ITパストレ)

出典:令和6年度 ITパスポート試験 公開問題 問81