SkillStack
テクノロジ系81 / 100問

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

一つの表で管理されていた受注データを、受注に関する情報と商品に関する情報に分割して、正規化を行った上で関係データベースの表で管理する。正規化を行った結果の表の組合せとして、最も適切なものはどれか。ここで、同一商品で単価が異なるときは商品番号も異なるものとする。また、発注者名には同姓同名はいないものとする。

ITパスポート試験 令和6年度 公開問題 問81の図表

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

正規化では、どの項目が何によって一意に決まるかという「関数従属」を考え、異なる役割の情報を別の表に分けます。受注番号が決まれば、発注者名、注文した商品番号、個数が決まります。一方、商品番号が決まれば、商品名と単価が決まります。したがって、受注表を「受注番号、発注者名、商品番号、個数」、商品表を「商品番号、商品名、単価」とするエが適切です。商品番号は、二つの表を関連付ける外部キーとしても働きます。

アの組合せは誤りです。二つの表に共通する項目がないため、どの受注でどの商品を何個注文したのかを対応付けられません。また、個数は商品そのものの属性ではなく、受注ごとに変わる属性です。

イの組合せは誤りです。商品番号によって表同士を関連付けられますが、個数を商品表に置いています。同じ商品でも受注ごとに個数は異なるので、個数は受注表に置く必要があります。

ウの組合せは誤りです。商品番号によって単価が決まるにもかかわらず、単価を受注表に残しています。同じ商品の単価が受注のたびに重複し、更新漏れによって値が不一致になるおそれがあります。

【ポイント】 正規化では、繰返しや重複を減らし、登録・更新・削除時の矛盾を防ぎます。 受注ごとに変わる個数は受注表、商品ごとに決まる商品名と単価は商品表に置きます。 分割後の表は、商品番号などの共通項目を使って結合できることも確認します。

出典:令和6年度 ITパスポート試験 公開問題 問81
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の100問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める