基本情報技術者試験 過去問解説
推移的関数従属とは?基本情報技術者試験 令和5年度 科目A 問6を解説
基本情報技術者試験 令和5年度 科目A 問6は、推移的関数従属に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
次の関数従属を満足するとき,成立する推移的関数従属はどれか。ここで,"A→B"はBがAに関数従属していることを表し,"A→{B, C}"は"A→B"かつ"A→C"が成立することを表す。 〔関数従属〕 {注文コード, 商品コード} → {顧客注文数量, 注文金額} 注文コード → {注文日, 顧客コード, 注文担当者コード} 商品コード → {商品名, 仕入先コード, 商品販売価格} 仕入先コード → {仕入先名, 仕入先住所, 仕入担当者コード} 顧客コード → {顧客名, 顧客住所}
この問題の出題ポイント
- 推移的関数従属の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- 関連タグ: コード設計、正規化、数学。
選択肢
- ア仕入先コード → 仕入担当者コード → 仕入先住所
- イ商品コード → 仕入先コード → 商品販売価格
- ウ注文コード → 顧客コード → 顧客住所正解
- エ注文コード → 商品コード → 顧客注文数量
正解
ウ: 注文コード → 顧客コード → 顧客住所
解説
推移的関数従属は A→B, B→C のとき A→C が成立する関係。注文コード → 商品コード はないが、注文コード → 顧客コード → 顧客住所 は成立し、顧客住所が注文コードに推移的に従属します。ウが正解。
なぜ他の選択肢が違うのか
ア
仕入先コード → 仕入担当者コード は成立するが、仕入担当者コード → 仕入先住所 は与えられた関数従属に存在しないため、推移関係になりません。
イ
商品販売価格は商品コードから直接決まる(商品コード → 商品販売価格)ため、仕入先コードを経由する推移ではありません。
ウ(正解)
注文コード → 顧客コード、顧客コード → 顧客住所が成立し、推移的に注文コード → 顧客住所となる正しい関係で、正解です。
エ
顧客注文数量は {注文コード, 商品コード} の複合キーから決まる属性で、単一の注文コードへの推移関係ではありません。
解き方の整理
推移的関数従属の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連用語
関連問題
前後の問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。