ITの基礎知識|ITパスポート・基本情報

基本情報技術者 令和5年公開問題 科目A 問6

2026.07.20

次の関数従属を満足するとき,成立する推移的関数従属はどれか。ここで,”A→B”はBがAに関数従属していることを表し,”A→{B,C}”は,”A→B”かつ”A→C”が成立することを表す。

  • ア 仕入先コード → 仕入担当者コード → 仕入先住所
  • イ 商品コード → 仕入先コード → 商品販売価格
  • ウ 注文コード → 顧客コード → 顧客住所
  • エ 注文コード → 商品コード → 顧客注文数量

Show answer

正解: ウ

解説:

推移的関数従属とは、A→B、B→Cが成立するときにA→Cとなる関係のうち、BがAの真部分集合ではない(AがBを直接決定していない)関係を指す。

選択肢を順に検証する。

  • ア:仕入先コード→仕入担当者コードという従属関係は問題文中に存在しない(仕入先コードは仕入担当者コードを含む複数の属性に直接従属させているだけ)。よって推移的関数従属の前提が成立しない。
  • イ:商品コード→仕入先コードという関数従属は問題文に明記されていない(商品コードは仕入先コードを含む属性群に直接従属しているのみ)。
  • ウ:注文コード→顧客コードは明記されており、さらに顧客コード→顧客住所も明記されている。したがって「注文コード→顧客コード→顧客住所」は成立する推移的関数従属である。
  • エ:注文コード→商品コードという関数従属は問題文に存在しない(両者は複合キーとして顧客注文数量などに従属する側であり、注文コードが商品コードを決定するわけではない)。

以上より正解はウ。推移的関数従属を見抜くには、「間に挟まる項目(本問では顧客コード)が起点となる項目に直接従属していること」と「その項目がさらに終点となる項目を決定していること」の両方を、問題文中の関数従属の記述と照合して確認する必要がある。