平成23年度 特別 午前Ⅱ 問9
データ操作
関係代数演算R÷Sで得られるもの
関係 R と関係 S から,関係代数演算 R÷S で得られるものはどれか。ここで,÷は商の演算を表す。
R
| X | Y | Z |
|---|---|---|
| a | 1 | 甲 |
| b | 2 | 甲 |
| a | 1 | 乙 |
| b | 2 | 丙 |
S
| X | Y |
|---|---|
| a | 1 |
| b | 2 |
選択肢は原典では表。各肢は列名と,行を上から順に「/」で区切って書いた。
- ア列 X,Y,Z の表:a,1,甲 / b,2,甲
- イ列 Z の表:乙 / 丙
- ウ列 Z の表:甲 / 乙 / 丙
- エ列 Z の表:甲
答えと解説を見る
✓ これが正解エ列 Z の表:甲
解説
S の (a,1) と (b,2) の両方と組になる Z の値は甲だけです。
商 R÷S は、S のすべての行と組み合わさって R に現れる、残りの属性の値を求める演算です。R の属性は X、Y、Z、S の属性は X、Y なので、結果の属性は Z です。Z の値ごとに確かめると、甲は (a,1,甲) と (b,2,甲) の両方が R にあるので残ります。乙は (a,1,乙) はありますが (b,2,乙) が無く、丙は (b,2,丙) だけで (a,1,丙) が無いので、どちらも残りません。結果は Z が甲の1行です。商は、割る側のすべての行とそろって現れるかを値ごとに確かめる、と覚えると手で追えます。
ほかの選択肢はなぜ違うのか
- ア列 X,Y,Z の表:a,1,甲 / b…:列 X、Y、Z をもつ表になっており、割る側の属性まで結果に残っています。商の結果は、割られる側から割る側の属性を除いた Z だけの表です。中身も R の一部の行を抜き出したものです。
- イ列 Z の表:乙 / 丙:乙と丙は、S の二つの行のうち一方としか組になっていません。商は S のすべての行と組になっている値だけを残すので、どちらも結果に入りません。甲が抜けている点でも逆です。
- ウ列 Z の表:甲 / 乙 / 丙:R に現れる Z の値をすべて並べたもので、Z への射影の結果にあたります。S のすべての行とそろっているかを確かめていないので、乙と丙まで残ってしまっています。
出典:平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)