ITパスポート 平成30年度春期午前問81

午前問81

顧客名と住所、商品名と単価、顧客が注文した商品の個数と注文した日付を関係データベースで管理したい。正規化された表として、適切なものはどれか。ここで、下線は主キーを表し、顧客名や商品名には、それぞれ同一のものがあるとする。
『情報処理過去問.com』からiPhoneアプリがリリースされました!!

正解

解説

正規化は、同じ内容を複数箇所に持たせないことで冗長さを取り除き、整合性を保ちやすくする手法です。基準は1事実1箇所です。正解のアは、顧客ごとの情報(顧客名・住所)を顧客表、商品ごとの情報(商品名・単価)を商品表に分け、注文ごとの情報(個数・日付)は注文表に置き、注文表からは顧客番号商品番号で参照する構成になっているため、同一の事実が一箇所に集約されています。
ア.
顧客表:下線の顧客番号を主キー、列は顧客名・住所商品表:下線の商品番号を主キー、列は商品名・単価注文表:下線の注文番号を主キー、列は顧客番号・商品番号・個数・日付。顧客と商品の固有情報がそれぞれ1行に集約され、注文は数量・日付のみを持つため、1事実1箇所が守られています。
イ.
顧客名顧客表と注文表の双方に現れるため、同じ事実が複数の表に分散し不適切です。
ウ.
顧客名顧客表と注文表の双方に含まれており、1事実1箇所の原則に反します。
エ.
注文表に顧客名・住所が含まれているため、同一の顧客が複数回注文すると同じ情報が繰り返し格納されます。住所変更時に該当行をすべて更新しなければならず、更新漏れが起きると整合性低下につながるので不適切です。
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする