基本情報技術者試験 過去問解説

推移的関数従属とは?基本情報技術者試験 令和5年度 科目A 問6を解説

基本情報技術者試験 令和5年度 科目A 問6は、推移的関数従属に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

次の関数従属を満足するとき,成立する推移的関数従属はどれか。ここで,"A→B"はBがAに関数従属していることを表し,"A→{B, C}"は"A→B"かつ"A→C"が成立することを表す。 〔関数従属〕 {注文コード, 商品コード} → {顧客注文数量, 注文金額} 注文コード → {注文日, 顧客コード, 注文担当者コード} 商品コード → {商品名, 仕入先コード, 商品販売価格} 仕入先コード → {仕入先名, 仕入先住所, 仕入担当者コード} 顧客コード → {顧客名, 顧客住所}

この問題の出題ポイント

  • 推移的関数従属の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • 関連タグ: コード設計、正規化、数学。

選択肢

  1. 仕入先コード → 仕入担当者コード → 仕入先住所
  2. 商品コード → 仕入先コード → 商品販売価格
  3. 注文コード → 顧客コード → 顧客住所正解
  4. 注文コード → 商品コード → 顧客注文数量

正解

: 注文コード → 顧客コード → 顧客住所

解説

推移的関数従属は A→B, B→C のとき A→C が成立する関係。注文コード → 商品コード はないが、注文コード → 顧客コード → 顧客住所 は成立し、顧客住所が注文コードに推移的に従属します。ウが正解。

なぜ他の選択肢が違うのか

  • 仕入先コード → 仕入担当者コード は成立するが、仕入担当者コード → 仕入先住所 は与えられた関数従属に存在しないため、推移関係になりません。

  • 商品販売価格は商品コードから直接決まる(商品コード → 商品販売価格)ため、仕入先コードを経由する推移ではありません。

  • ウ(正解)

    注文コード → 顧客コード、顧客コード → 顧客住所が成立し、推移的に注文コード → 顧客住所となる正しい関係で、正解です。

  • 顧客注文数量は {注文コード, 商品コード} の複合キーから決まる属性で、単一の注文コードへの推移関係ではありません。

解き方の整理

推移的関数従属の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連用語

関連問題

前後の問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。