令和6年度 ITパスポート 問81 解説|受注データの正規化

ITパスポート 公開問題の解説令和6年度 問81最終更新 2026-10-19

分類テクノロジ系 » データベース » データベース設計新しい試験17-2 データベース設計年度令和6年度の100問の一覧

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

問題の資料(原文の表・図を書き起こしたもの)

受注データ

受注番号|発注者名|商品番号|商品名|個数|単価

T0001|試験花子|M0001|商品1|5|3,000

T0002|情報太郎|M0002|商品2|3|4,000

T0003|高度秋子|M0001|商品1|2|3,000

正解と解説

正解:エ

ア× 受注の表に商品番号が無いので、どの注文がどの商品かが分からなくなります。また個数は注文ごとの値(M0001 は5個と2個)なので、商品の表には置けません。

イ× 注文と商品は商品番号で結び付いていますが、個数を商品の表に置いています。M0001 の個数は注文によって5と2で違うので、商品番号では1つに決まりません。

ウ× 単価は商品番号で決まる値なので、受注の表に置くと M0001 の3,000円が注文の数だけ重ねて書かれます。商品名と同じく商品の表に置くべき列です。

エ○ 正解 受注番号で決まる発注者名・商品番号・個数を受注の表に、商品番号で決まる商品名・単価を商品の表に置いています。商品番号で2つの表を結び付けられ、重ねて書かれる事実もありません。

解説

正規化は、同じ事実が何度も書かれる表を分けて、1つの事実を1か所にだけ置くようにする作業です。分け方の目安は「どの列が決まれば、その列の値が1つに決まるか」です。受注データでは、M0001 の商品名「商品1」と単価「3,000」が2行に重ねて書かれています。これを商品の表に1回だけ書くのがねらいです。

列を1つずつ見ると、発注者名と個数は注文ごとに違うので受注番号で決まり、商品名と単価は商品番号で決まります(同じ商品で単価が違えば商品番号も違う、と但し書きがあります)。受注の表に受注番号・発注者名・商品番号・個数を置き、商品の表に商品番号・商品名・単価を置けば、どの事実も1か所にだけ書かれます。受注の表に商品番号を残すのは、注文と商品を結び付けるためです。

教科書 17-2この問題の知識

データベース設計

業務のデータを洗い出すデータ分析、エンティティとリレーションシップを描くE-R図、行を1つに特定する主キーと相手の表を指す外部キー、重複をなくして一貫性を保つ正規化、表を分けたあとの検索の速さまでを、公開問題を解ける形でまとめます。

この節で扱うこと:データベースの設計・正規化とパフォーマンス設計

教科書を読む →この節の過去問を続けて解く(6問)

ITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページですITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページです

Udemy の ITパスポート講座を、受講者数・★評価・口コミで比べたページです(広告を含みます)。

過去問教科書の一覧(現行の試験の順)教科書の一覧(新しい試験の順)

出典:IPA「ITパスポート試験 公開問題」令和6年度 問81。問題文と選択肢は改変せずに引用しています(表・図は文字に書き起こしたもの)。正解は IPA 公表の解答例によります。

タイトルとURLをコピーしました