修了試験 2025-07-27実施分 基本情報技術者試験 問19
関係“注文記録”の属性間に①~⑥の関数従属性があり,それに基づいて第3正規形まで正規化を行って,“商品”,“顧客”,“注文”,“注文明細”の各関係に分解した。 関係“注文明細”として,適切なものはどれか。 ここで,{X, Y}は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。 また,(主キー)を付けた属性は主キーを表す。 注文記録(注文番号,注文日,顧客番号,顧客名,商品番号,商品名,数量,販売単価) 〔関数従属性〕 ①注文番号→注文日 ②注文番号→顧客番号 ③顧客番号→顧客名 ④{注文番号,商品番号}→数量 ⑤{注文番号,商品番号}→販売単価 ⑥商品番号→商品名
正答3
解説
正解は3です。 第3正規形では、すべての非キー属性が主キー全体に完全関数従属し、推移的にも従属しない形にします。 関数従属性④⑤より、数量と販売単価は{注文番号,商品番号}の組で決まります。 したがって、注文明細は注文番号と商品番号を主キーとし、数量と販売単価をもつ関係になります。 【選択肢別解説】 1:× 顧客番号と顧客名を含むので誤りです。 ②より顧客番号は注文番号だけで決まり、③より顧客名は顧客番号で決まるため、それぞれ“注文”と“顧客”に分けるべき属性です。 2:× 主キーに商品番号がないので誤りです。 数量と販売単価は注文番号と商品番号の組で決まるので、顧客番号をキーにしても一意に決まりません。 3:○ 注文番号と商品番号を主キーとし、数量と販売単価をもつ形は正しいです。 ④⑤の関数従属性をそのまま表しており、部分関数従属も推移的関数従属もありません。 4:× 主キーが注文番号だけなので誤りです。 一つの注文に複数の商品が含まれる場合、注文番号だけでは明細の行を区別できず、数量と販売単価も決まりません。 【ポイント】 分解後の関係は、①注文番号で決まる“注文”、③顧客番号で決まる“顧客”、⑥商品番号で決まる“商品”、④⑤の組で決まる“注文明細”になります。 関数従属性の左辺(決定する側)が、そのまま各関係の主キーになります。まとめて解く
修了試験 2025-07-27実施分を通しで解く(60問)→