カコモンノート

問28応用情報技術者 令和2年度 10月

28 / 80問
令和2年度 10月2020年

関係"注文記録"の属性間に①〜⑥の関数従属性があり,それに基づいて第3正規形まで正規化を行って,"商品","顧客","注文","注文明細"の各関係に分解した。関係"注文明細"として,適切なものはどれか。ここで,{X,Y}は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。また,実線の下線は主キーを表す。

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 3

解説

正解は3。関数従属性で分解すると、注文番号→注文日・顧客番号(①②)で"注文"、顧客番号→顧客名(③)で"顧客"、商品番号→商品名(⑥)で"商品"に分かれる。残る④⑤は{注文番号,商品番号}→数量・販売単価なので、"注文明細"は{注文番号,商品番号}を主キーとし、数量と販売単価をもつ関係になる。

  • 1は、顧客番号・顧客名が注文番号だけで決まる部分関数従属や推移的関数従属を含み、第2正規形にもなっていない。
  • 2は、商品番号がなく、数量や販売単価がどの商品のものか決まらない。顧客番号は"注文"に置くべき属性。
  • 4は、注文番号だけでは数量や販売単価が一つに決まらない(1注文に複数商品がある)。

根拠:正規化(部分関数従属・推移的関数従属の除去による第3正規形)。

KEY POINT
複合キー{注文番号,商品番号}全体で決まる数量・単価だけが注文明細に残り、一部で決まる属性は別表へ出す。
出典:令和2年度 10月 応用情報技術者試験 午前 問28(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。