データベース
次の関数従属を満足するとき、成立する推移的関数従属はどれか。ここで、“A→ B”は Bが Aに関数従属していることを表し、“A→{B、C}”は、“A→B”かつ“A→ C”が成立することを表す。 〔関数従属〕 {注文コード、商品コード}→{顧客注文数量、注文金額} 注文コード →{注文日、顧客コード、注文担当者コード} 商品コード →{商品名、仕入先コード、商品販売価格} 仕入先コード →{仕入先名、仕入先住所、仕入担当者コード} 顧客コード →{顧客名、顧客住所}
ア.仕入先コード → 仕入担当者コード → 仕入先住所
イ.商品コード → 仕入先コード → 商品販売価格
ウ.注文コード → 顧客コード → 顧客住所正解
エ.注文コード → 商品コード → 顧客注文数量
解説
推移的関数従属は『AがBを決め、BがCを決めるが、AはCを直接は知らない』という中継点経由の依存関係。注文書から顧客コードを調べ、顧客台帳で住所を調べる——この2ステップのリレーがそれ。
なぜ ウ が正解か
注文コード → 顧客コード は問題文の依存関係に明記されている。顧客コード → 顧客住所 も同様に定義済み。注文コードは顧客住所を『直接は知らない』が、顧客コードという中継点を踏むことで間接的に確定できる——これが推移的関数従属の定義そのもの。
出典: 基本情報技術者試験 令和5年 公開問題