令和2年度秋期 応用情報技術者試験 午前 問28

分野:データベース|実際に出題されたIPA過去問題

関係“注文記録”の属性間に①〜⑥の関数従属性があり,それに基づいて第3正規形まで正規化を行って,“商品”,“顧客”,“注文”,“注文明細”の各関係に分解した。関係“注文明細”として,適切なものはどれか。ここで,{X,Y}は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。また,実線の下線は主キーを表す。注文記録(注文番号,注文日,顧客番号,顧客名,商品番号,商品名,数量,販売単価)〔関数従属性〕① 注文番号 → 注文日 ② 注文番号 → 顧客番号 ③ 顧客番号 → 顧客名 ④ {注文番号,商品番号} → 数量 ⑤ {注文番号,商品番号} → 販売単価 ⑥ 商品番号 → 商品名

  1.  注文明細(注文番号,顧客番号,商品番号,顧客名,数量,販売単価)
  2.  注文明細(注文番号,顧客番号,数量,販売単価)
  3.  注文明細(注文番号,商品番号,数量,販売単価)
  4.  注文明細(注文番号,数量,販売単価)
解答・解説を見る

正解:ウ

AI解説

関数従属性④⑤より、数量と販売単価は複合キー{注文番号,商品番号}に完全関数従属する。商品名(⑥)は商品番号だけに従属する部分関数従属のため商品表へ、顧客名(③)は顧客番号だけに従属するため顧客表へ、注文日・顧客番号(①②)は注文番号だけに従属するため注文表へ、それぞれ切り出す必要がある。したがって注文明細表には注文番号,商品番号,数量,販売単価のみが残る。 ア: 注文明細(注文番号,顧客番号,商品番号,顧客名,数量,販売単価)は、顧客番号・顧客名という部分関数従属する属性が残ったままであり第3正規形になっていないため誤りである。 イ: 注文明細(注文番号,顧客番号,数量,販売単価)は、数量・販売単価が本来従属する商品番号が欠落しており誤りである。 ウ: 正しい。注文番号,商品番号,数量,販売単価のみからなる表が、複合キーに完全関数従属する属性だけで構成された正しい注文明細表である。 エ: 注文明細(注文番号,数量,販売単価)は、複合キーを構成する商品番号が欠落しており、数量・販売単価がどの商品に対するものか特定できないため誤りである。 💡 第3正規形への分解は「部分関数従属」と「推移的関数従属」を取り除く作業。複合キーに完全従属する属性だけを残すという基準で各表を切り分けると整理しやすい。

出典:令和2年度 秋期 応用情報技術者試験 午前 問28 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース)の過去問