平成30年度 春期 ITパスポート試験 問81
テクノロジ/データベース顧客名と住所,商品名と単価,顧客が注文した商品の個数と注文した日付を関係データベースで管理したい。正規化された表として,適切なものはどれか。ここで,下線は主キーを表し,顧客名や商品名には,それぞれ同一のものがあるとする。 (注:本サイトでは原問題の表を画像で示しています。選択肢ア〜エは画像中の表です。)

出典:平成30年度 春期 ITパスポート試験 問81
- ア表ア
- イ表イ
- ウ表ウ
- エ表エ
正解:ア
解説
顧客名や商品名には同一のものがあるので,顧客や商品は顧客番号や商品番号で区別する必要があります。顧客の情報(顧客名,住所)は「顧客」表,商品の情報(商品名,単価)は「商品」表にまとめ,「注文」表には注文番号を主キーとして,顧客番号,商品番号,個数,日付だけを持たせます。こうすると同じ顧客や商品の情報を重複して持たずに済み,正規化された表になります。アがこの構成です。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- ア正しい。顧客・商品・注文の各表が主キーで区別され,注文表は顧客番号と商品番号で他の表を参照しており,情報の重複がない正規化された構成です。
- イ誤り。注文表が顧客名と商品名を持っています。同一の名前があるため顧客や商品を特定できず,参照の仕方として不適切です。
- ウ誤り。顧客表に注文日(日付)があり,顧客と注文の情報が混在しています。また商品の表がなく,注文表に単価が入っているため,単価が注文ごとに重複します。
- エ誤り。商品表に個数(注文ごとの値)が入っており,顧客表もありません。注文表が顧客名と住所を持つため,同じ顧客の情報が注文のたびに重複します。