平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問9
テクノロジ/データベース関係 R と関係 S から,関係代数演算 R÷S で得られるものはどれか。ここで,÷は商の演算を表す。 R X,Y,Z a,1,甲 b,2,甲 a,1,乙 b,2,丙 S X,Y a,1 b,2 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問9
- アX,Y,Z a,1,甲 b,2,甲
- イZ 乙 丙
- ウZ 甲 乙 丙
- エZ 甲
正解:エ
解説
R÷Sは,S表の全ての(X,Y)の組が,Rの中で対応するZ値とともに存在するようなZ値の集合を求める演算です。S={(a,1),(b,2)}なので,各Z値について(a,1,Z)と(b,2,Z)の両方がRに存在するかを確認します。Z=甲の場合,(a,1,甲)も(b,2,甲)もRに存在するため条件を満たしますが,Z=乙は(b,2,乙)がRに無く,Z=丙は(a,1,丙)がRに無いため,いずれも条件を満たしません。したがって結果はZ=甲のみから成る表になります。
選択肢ごとの解説
- ア誤り。X,Y,Z の3列から成る表はRそのものの一部であり,商演算R÷Sの結果(Z列のみの表)とは異なります。
- イ誤り。Z=乙は(b,2,乙)がRに存在せず,Z=丙は(a,1,丙)がRに存在しないため,いずれもR÷Sの結果には含まれません。
- ウ誤り。乙と丙はSの全ての(X,Y)の組との対応がRに存在しないため,R÷Sの結果には甲以外は含まれません。
- エ正しい。Z=甲だけが,Sの全ての(X,Y)の組(a,1)と(b,2)の両方についてRに対応する行(a,1,甲),(b,2,甲)をもつため,R÷Sの結果はZ=甲のみから成る表になります。