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

科目A問6

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

〔関数従属〕
{注文コード,商品コード}→{顧客注文数量,注文金額}
注文コード →{注文日,顧客コード,注文担当者コード}
商品コード →{商品名,仕入先コード,商品販売価格}
仕入先コード →{仕入先名,仕入先住所,仕入担当者コード}
顧客コード →{顧客名,顧客住所}
仕入先コード → 仕入担当者コード → 仕入先住所
商品コード → 仕入先コード → 商品販売価格
注文コード → 顧客コード → 顧客住所
注文コード → 商品コード → 顧客注文数量
『情報処理過去問.com』からiPhoneアプリがリリースされました!!

正解

解説

本問では,表に与えられた関数従属性をすべて満たすときに,新たに推移的に成立する関数従属(A→B,B→C から導かれる A→C の形)を選びます。
与えられている関数従属は次のとおりです。

1. {注文コード,商品コード}→{顧客注文数量,注文金額}
2. 注文コード →{注文日,顧客コード,注文担当者コード}
3. 商品コード →{商品名,仕入先コード,商品販売価格}
4. 仕入先コード →{仕入先名,仕入先住所,仕入担当者コード}
5. 顧客コード →{顧客名,顧客住所}

推移的関数従属を探すには,「選択肢の A→B, B→C の 2 本が上記 1〜5 に含まれているか」を確認します。
このうち,実際に A→B と B→C の両方が定義されており,A→C が推移的に成立するのはウ:注文コード → 顧客コード → 顧客住所 だけです。
ア.仕入先コード → 仕入担当者コード → 仕入先住所
・表から 仕入先コード → 仕入担当者コード は 4. より成立。

・しかし 仕入担当者コード → 仕入先住所 という関数従属はどこにも定義されていません。

→ 2 本目の矢印が前提にないので,推移的関数従属としては成立しません。
イ.商品コード → 仕入先コード → 商品販売価格
・3. より 商品コード → 仕入先コード は成立。

・3. から直接 商品コード → 商品販売価格 はありますが,

 仕入先コード → 商品販売価格 という従属は与えられていません。

→ 「A→B, B→C」の B→C が存在しないので,これも推移的従属とは言えません。
ウ.注文コード → 顧客コード → 顧客住所
・2. より 注文コード → 顧客コード が成立。

・5. より 顧客コード → 顧客住所 が成立。

→ よって「注文コード → 顧客コード」「顧客コード → 顧客住所」がそろっているので,

 推移律により 注文コード → 顧客住所 が成り立ちます。

→ これはまさに A→B→C 型の推移的関数従属です。
エ.注文コード → 商品コード → 顧客注文数量
・3. より 商品コード → 仕入先コード は成立。

・3. から直接 商品コード → 商品販売価格 はありますが,

 仕入先コード → 商品販売価格 という従属は与えられていません。

→ 「A→B, B→C」の B→C が存在しないので,これも推移的従属とは言えません。
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする