顧客名と住所,商品名と単価,顧客が注文した商品の個数と注文した日付を関係データベースで管理したい。正規化された表として,適切なものはどれか。ここで,下線は主キーを表し,顧客名や商品名には,それぞれ同一のものがあるとする。

正規化では実体ごとに表を分け、参照は番号で行う

ITパスポート2018年度 春期81/データベース / データベース設計

4つの選択肢はそれぞれ関係データベースの表構造(下線は主キー)を示す。ア:顧客表(顧客番号, 顧客名, 住所)/商品表(商品番号, 商品名, 単価)/注文表(注文番号, 顧客番号, 商品番号, 個数, 日付)で正規化されている。イ:注文表が顧客名・商品名を直接持つ(非正規)。ウ:顧客表に日付が混在し,注文表に単価が混在する(不適切な設計)。エ:商品表に個数が混在し,注文表に顧客名・住所が直接入る(不適切な設計)。
4つの選択肢はそれぞれ関係データベースの表構造(下線は主キー)を示す。ア:顧客表(顧客番号, 顧客名, 住所)/商品表(商品番号, 商品名, 単価)/注文表(注文番号, 顧客番号, 商品番号, 個数, 日付)で正規化されている。イ:注文表が顧客名・商品名を直接持つ(非正規)。ウ:顧客表に日付が混在し,注文表に単価が混在する(不適切な設計)。エ:商品表に個数が混在し,注文表に顧客名・住所が直接入る(不適切な設計)。

選択肢

正解と解説

正解: 顧客表(顧客番号_, 顧客名, 住所)、商品表(商品番号_, 商品名, 単価)、注文表(注文番号_, 顧客番号, 商品番号, 個数, 日付)

正規化では、繰り返しや重複を排し、各項目をそれを一意に決める主キーに従属させて表を分ける。顧客の属性は顧客表に、商品の属性は商品表に置き、注文表には注文ごとの個数と日付、そして相手を指し示す顧客番号・商品番号だけを持たせる。顧客名や商品名は重複し得るため、注文表がそれらを直接持つ設計では相手を特定できず不適切となる。

選択肢ごとの解説

出典:平成30年度 春期 ITパスポート試験 問81(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。