基本情報技術者試験 令和5年度 科目A 公開問題 問6
次の関数従属を満足するとき、成立する推移的関数従属はどれか。ここで、"A→B "はB がA に関数従属していることを表し、"A→{B、C }"は、"A→B "かつ"A→C "が成立することを表す。
〔関数従属〕 {注文コード、商品コード}→{顧客注文数量、注文金額} 注文コード →{注文日、顧客コード、注文担当者コード} 商品コード →{商品名、仕入先コード、商品販売価格} 仕入先コード →{仕入先名、仕入先住所、仕入担当者コード} 顧客コード →{顧客名、顧客住所}
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
推移的関数従属とは、X→YかつY→Zが成立するときに、X→Zも成立する関係です。注文コードから顧客コードが決まり、顧客コードから顧客住所が決まるので、「注文コード→顧客コード→顧客住所」という推移的関数従属が成立します。注文コードが分かれば、顧客コードを経由して顧客住所まで一意に特定できるため、ウが正解です。
アの「仕入先コード→仕入担当者コード→仕入先住所」は誤りです。仕入先コードから仕入担当者コードと仕入先住所はそれぞれ決まりますが、仕入担当者コードから仕入先住所が決まるという関数従属は示されていません。
イの「商品コード→仕入先コード→商品販売価格」は誤りです。商品コードから両方が決まるだけであり、仕入先コードから商品販売価格が決まるとは限りません。同じ仕入先が複数の商品を異なる価格で販売することも考えられます。
エの「注文コード→商品コード→顧客注文数量」は誤りです。商品コードは注文コードだけでは決まらず、顧客注文数量も注文コードと商品コードの組合せによって決まります。
【ポイント】 推移的関数従属は「X→Y、Y→ZならばX→Z」と覚えます。 第3正規形では、主キーから非キー属性への推移的関数従属を取り除くことが重要です。
出典:令和5年度 基本情報技術者試験 科目A 公開問題 問6
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の20問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる