修了試験 2022-01-23実施分 基本情報技術者試験 問25
関係"注文記録"の属性間に①〜⑥の関数従属性があり,それに基づいて第3正規形まで正規化を行って,"商品","顧客","注文","注文明細"の各関係に分解した。 関係"注文明細"として,適切なものはどれか。 ここで,{X, Y}は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。 また,(主キー)を付けた属性は主キーを表す。 注文記録(注文番号,注文日,顧客番号,顧客名,商品番号,商品名,数量,販売単価) 〔関数従属性〕 ① 注文番号 → 注文日 ② 注文番号 → 顧客番号 ③ 顧客番号 → 顧客名 ④ {注文番号,商品番号} → 数量 ⑤ {注文番号,商品番号} → 販売単価 ⑥ 商品番号 → 商品名
正答3
解説
正解は3です。 この問題は、第3正規形まで分解したときの関係"注文明細"として正しい属性と主キーを選びます。 各選択肢で主キーとなっている属性は次のとおりです。 選択肢1は注文番号・顧客番号・商品番号、選択肢2は注文番号・顧客番号です。 選択肢3は注文番号・商品番号、選択肢4は注文番号だけです。 第3正規形では、主キーの一部だけに従属する属性(部分関数従属)と、主キー以外の属性を介した従属(推移的関数従属)を取り除きます。 関数従属性④⑤から、数量と販売単価は{注文番号,商品番号}の組で決まります。 【選択肢別解説】 1:× 顧客番号まで主キーに含めていますが、顧客番号は②により注文番号だけで決まるので、主キーに入れる必要はありません。 また、顧客名は③により顧客番号を介して決まる属性なので、顧客の関係に分けるべきです。 2:× 主キーが{注文番号,顧客番号}で、数量と販売単価を決める商品番号が含まれていません。 一つの注文に複数の商品があると、商品ごとの数量と販売単価を区別できません。 3:○ {注文番号,商品番号}を主キーとし、この組で決まる数量と販売単価をもつ関係です。 部分関数従属も推移的関数従属もないので、第3正規形の注文明細として適切です。 4:× 主キーが注文番号だけで、商品番号が含まれていません。 数量と販売単価は④⑤により注文番号と商品番号の組で決まるので、注文番号だけでは値が一つに定まりません。 【ポイント】 分解後は、商品(商品番号,商品名)、顧客(顧客番号,顧客名)、注文(注文番号,注文日,顧客番号)、注文明細(注文番号,商品番号,数量,販売単価)の四つになります。 複数の属性の組で決まる属性は、その組を主キーとする関係にまとめます。まとめて解く
修了試験 2022-01-23実施分を通しで解く(80問)→