IPA過去問ドリル

平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問3

テクノロジ/データベース

関係R(A,B,C)において,関数従属A→B,B→Cが成立するとき,導けない関数従属はどれか。

出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問3

正解:エ

解説

A→B,B→Cという関数従属が成立しているとき,反射律(部分集合はそれ自体を決定できる)・増加律(両辺に同じ属性を加えても従属関係は保たれる)・推移律(X→Y,Y→ZならX→Z)というアームストロングの公理を使うと,{A,C}→{A,B}(AからBが導けるので)や{A,C}→{A,B,C}(さらにCを加えて)は導出できます。一方,{B,C}→{A,C}を導くには{B,C}からAを決定できる必要がありますが,与えられた関数従属はA→B,B→Cのみであり,BやCからAを逆向きに決定する規則は存在しないため,{B,C}→{A,C}は導けません。

選択肢ごとの解説

  • 誤り。反射律により,{A,B,C}はその部分集合である{A,B}を自明に決定できるため,この関数従属は導出可能です。「導けない」ものには該当しません。
  • 誤り。A→B(既知)に反射律で得られる{A,C}→Aを組み合わせると,{A,C}→{A,B}を導出できます。「導けない」ものには該当しません。
  • 誤り。{A,C}→{A,B}(導出可能)に反射律で得られる{A,C}→Cを合わせると,{A,C}→{A,B,C}を導出できます。「導けない」ものには該当しません。
  • 正しい。与えられた関数従属はA→BとB→Cのみであり,BやCからAを決定する規則がないため,{B,C}からAを導くことはできず,{B,C}→{A,C}は導けない関数従属です。
データベーススペシャリストの過去問を演習モードで解く