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

推移的関数従属とは?基本情報技術者試験 令和元年度 科目A 修了認定試験 問25を解説

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

問題文

項目 a〜f からなるレコードがある。このレコードの主キーは、項目 a と b を組み合わせたものである。また、項目 f は項目 b によって特定できる。このレコードを第 3 正規形にしたものはどれか。 (元のレコード: a, b, c, d, e, f、主キーは (a, b)、b → f の関数従属あり)

この問題の出題ポイント

  • 推移的関数従属の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • データベース分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: 正規化。

選択肢

  1. {a, b} と {c, d, e} と {b, f}
  2. {a, b, c, d, e} と {b, f}正解
  3. {a, b, f} と {c, d, e} と {b, f}
  4. {a, c, d, e} と {b, c, d, e} と {b, f}

正解

: {a, b, c, d, e} と {b, f}

解説

第 3 正規形は推移的関数従属を排除する。f は b で特定できる(b→f)ので {b, f} を分離する。主キー {a,b} に依存する {c,d,e} と組合せて {a,b,c,d,e} と {b,f} に分解する。

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

  • {a,b}/{c,d,e}/{b,f} と分解しているが、最初の {a,b} だけだと主キーのみで属性がなく不適切。

  • イ(正解)

    {a,b,c,d,e}(主キーに完全依存する属性)と {b,f}(b→f)の分解=正解。

  • {a,b,f} は b→f の推移的従属を残しており第 3 正規形でない。

  • {a,c,d,e}/{b,c,d,e}/{b,f} はキー設計が不適切で、重複を含む。

解き方の整理

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

関連用語

関連問題

前後の問題

復習を続ける

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