令和2年度 秋期 応用情報技術者試験 午前 問28
関係"注文記録"の属性間に①~⑥の関数従属性があり,それに基づいて第3正規形まで正規化を行って,"商品","顧客","注文","注文明細"の各関係に分解した。関係"注文明細"として,適切なものはどれか。ここで,{X,Y} は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。また,実線の下線は主キーを表す。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ウ
第3正規形まで正規化する際には、以下のルールに従います。
- 主キー以外の属性は、主キーに完全関数従属しなければならない。
- そのため、部分関数従属や推移的従属は取り除きます。
関数従属性の確認
- {注文番号, 商品番号} → 数量、販売単価 から、注文番号と商品番号の組み合わせが主キーであることがわかります。
- 注文番号 → 顧客番号、顧客番号 → 顧客名 という推移的従属が存在しますが、これは“注文”や“顧客”関係に分解されます。
各選択肢の検証
- ア: 注文番号と顧客番号が含まれている
不正。顧客番号や顧客名は注文情報に関するものであり、注文明細に含めるべきではありません。 - イ: 顧客番号が含まれている
不正。同様に顧客番号は注文明細の範囲を超えます。 - ウ: 注文番号と商品番号を主キーとし、数量と販売単価が従属
正しい。第3正規形に適合しています。 - エ: 商品番号が含まれていない
不正。商品番号がなく、どの商品か識別できません。
答え
ウ: 注文明細(注文番号、商品番号、数量、販売単価)
出典:令和2年度 秋期 応用情報技術者試験 午前 問28