データベース
基本情報技術者試験 科目A免除 修了試験 20160724 実施分 問28
次の“受注台帳”表を“注文”表と“顧客”表に分解し,第 3 正規形にしたとき,両方に必要な属性はどれか。ここで,送付先と支払方法は注文ごとに決めるものとする。また,表の下線は主キーを表す。
受注台帳(注文番号, 注文年月日, 顧客ID, 顧客名, 顧客住所, 品目, 数量, 送付先, 支払方法, 受注金額) ※「注文番号」に下線(主キー)
- ア 顧客 ID
- イ 顧客名
- ウ 支払方法
- エ 注文番号
出典:基本情報技術者試験 科目A免除 修了試験 20160724 実施分 問28
答えと解説を見る
正解:ア
覚える知識
関数従属性に基づく第3正規形への分解
第3正規形では推移的関数従属を取り除き、分解後の表を結ぶ属性(外部キー)を共通に持たせる。
この問題で必要なこと
顧客名・顧客住所は顧客IDに従属するので顧客表に分け、注文表には顧客IDを外部キーとして残す。顧客IDが両表に必要。
ひっかけ
顧客名など分離される属性や、注文番号などを両方に残すと考えさせる。
この知識の出題:本試験系 6 回・免除試験 32 回(公開問題での観測値)