81の正解: テクノロジ系データベース

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

問81の図

この設問が問うていること

関係データベースにおける「正規化」を行い、受注データと商品データの適切な項目分割を特定する設問です。

受注データ(受注番号, 発注者名, 商品番号, 商品名, 個数, 単価)
選択肢の解説: 表が分割されておらず、冗長性(同一商品の情報の重複)が残ったままであるため誤りです。
受注データ(受注番号, 発注者名, 商品番号) 商品データ(商品番号, 商品名, 個数, 単価)
選択肢の解説: 注文ごとの数量を表す「個数」が商品データ表に含まれており、どの注文でいくつ売れたかが分からなくなるため誤りです。
受注データ(受注番号, 発注者名, 商品番号, 個数, 単価) 商品データ(商品番号, 商品名)
選択肢の解説: 同一商品の単価が受注データ側に残っており、商品の単価改定時などに不整合が生じやすいため誤りです。
受注データ(受注番号, 発注者名, 商品番号, 個数) 商品データ(商品番号, 商品名, 単価)正解
選択肢の解説: 受注に固有の「個数」を受注データに置き、商品名や単価を商品データに適切に切り離しているため適切です。

総合解説

関係データベースの正規化において、主キーに完全に従属する項目をそれぞれ独立したテーブルへ分離します。本問では、「受注番号」に対して一意に決定される項目(発注者名、購入個数など)と、「商品番号」に対して一意に決定される項目(商品名、単価など)があります。 したがって、受注データとして {受注番号, 発注者名, 商品番号, 個数}、商品データとして {商品番号, 商品名, 単価} の組み合わせに分割することが適切です。これによりデータの重複や矛盾(更新時異常など)を防ぐことができます。よって、正解はdです。

執筆・監修: 運営者 KH更新日: 2026-07-05出典: IPA公式PDF(過去問題・解答例)
AIAIにその場で質問(デモ応答)

こんな聞き方もできます(タップで質問)

令和6年度を本番同様のCBT形式で解いてみよう

無料登録なしでも一部体験可能。登録すれば採点・弱点分析・AI教科書まで使えます。

令和6年度の過去問CBTを解く