IPA過去問ドリル

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

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

次の関係R,S,T,Uにおいて,関係代数表現R×S÷T-Uの演算結果はどれか。ここで,×は直積,÷は商,-は差の演算を表す。 関係R A|B 1|a 2|b 3|a 3|b 4|a 関係S C x y 関係T A 1 3 関係U B|C a|x c|z (注:本サイトでは原問題の表を文字表記に変換しています)

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

正解:ア

解説

商演算R÷Tは,Tのすべての値の組合せに対応するBの値の集合を求める演算です。R(A,B)のうちAが1のB値は{a},Aが3のB値は{a,b}であり,Tは{1,3}なので,R÷Tの結果はAが1と3の両方に対応するB値の共通部分{a}になります。次にR÷TとSの直積を取ると{(a,x),(a,y)}となり,そこからUを差し引くと,Uに含まれる(a,x)が除かれて{(a,y)}が残ります。

選択肢ごとの解説

  • 正しい。R÷T={a}であり,これとSの直積は{(a,x),(a,y)}になります。ここからU={(a,x),(c,z)}を差し引くと,(a,x)が除かれて{(a,y)}だけが残ります。
  • 誤り。R÷Tの結果は{a}であり,Bの値としてbは含まれないため,(b,x)を含む結果にはなりません。
  • 誤り。この選択肢の値は,各行のCの値についてyやxそのものではなく計算式のような形で示されており,直積差演算の結果として得られる具体的な値の組ではありません。
  • 誤り。この選択肢の値は,Cの値が計算式や負の値のような形で示されており,直積差演算の結果として得られる具体的な値の組ではありません。
データベーススペシャリストの過去問を演習モードで解く