関係"注文記録"の属性間に①〜⑥の関数従属性があり、それに基づいて第3正規形まで正規化を行って、"商品"、"顧客"、"注文"、"注文明細"の各関係に分解した。関係"注文明細"として、適切なものはどれか。ここで、{X, Y}は、属性XとYの組みを表し、X→Yは、XがYを関数的に決定することを表す。また、実線の下線は主キーを表す。 注文記録(注文番号, 注文日, 顧客番号, 顧客名, 商品番号, 商品名, 数量, 販売単価) 〔関数従属性〕①注文番号→注文日 ②注文番号→顧客番号 ③顧客番号→顧客名 ④{注文番号, 商品番号}→数量 ⑤{注文番号, 商品番号}→販売単価 ⑥商品番号→商品名
明細は{注文番号,商品番号}に完全従属する属性だけを残す
選択肢
- ア注文明細(注文番号, 顧客番号, 商品番号, 顧客名, 数量, 販売単価)(注文番号・顧客番号・商品番号が主キー)
- イ注文明細(注文番号, 顧客番号, 数量, 販売単価)(注文番号・顧客番号が主キー)
- ウ注文明細(注文番号, 商品番号, 数量, 販売単価)(注文番号・商品番号が主キー)
- エ注文明細(注文番号, 数量, 販売単価)(注文番号が主キー)
正解と解説
正解:ウ 注文明細(注文番号, 商品番号, 数量, 販売単価)(注文番号・商品番号が主キー)
第3正規形では、主キー全体に完全関数従属し、かつ推移的従属のない属性だけを同じ関係に残す。数量と販売単価は{注文番号, 商品番号}に完全従属するので、この2属性を主キーとする関係にまとめる。注文日と顧客番号は注文番号に、顧客名は顧客番号に、商品名は商品番号に従属するので別の関係へ分ける。
選択肢ごとの解説
- ア顧客番号・顧客名は注文番号側に従属する属性であり、注文明細に残すのは不適切である。
- イ商品番号がなく、数量や販売単価を一意に決められない。
- ウ正しい。{注文番号, 商品番号}を主キーとし、数量と販売単価をもつ関係になる。
- エ注文番号だけでは数量や販売単価が定まらず、部分関数従属が解消できていない。
同じ分野の他の問題
- “売上”表への次の検索処理のうち、B木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで、イ…2025年度 秋期 午前 問27
- SQL文に示す参照制約が存在する"商品"表と"受注"表とがある。"商品"表の行を削除したとき,削除した行の商品コードと同…2025年度 春期 午前 問27
- 関係を第2正規形から第3正規形に変換する手順はどれか。2025年度 春期 午前 問26
- UMLを用いて表した図のデータモデルを関係データベース上に実装する際の解釈のうち,適切なものはどれか。2025年度 春期 午前 問25
- 次のオブジェクト図(インスタンスを表す図)に対応する概念データモデルはどれか。ここで、オブジェクト図及び概念データモデル…2024年度 秋期 午前 問29
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。