平成30年度 春期 午前Ⅱ 問9
データ操作
関係R,Sの等結合演算は,どの演算によって表すことができるか。
- ア共通
- イ差
- ウ直積と射影と差
- エ直積と選択
答えと解説を見る
✓ これが正解エ直積と選択
解説
等結合は、直積を作ってから等しい組を選択する演算で表せます。
見分ける軸は、結合を基本的な関係演算の組合せに分解するとどうなるかです。直積は、関係Rの全ての行と関係Sの全ての行を組み合わせた行を作る演算です。選択は、条件に合う行だけを取り出す演算です。等結合は、Rのある属性の値とSのある属性の値が等しい組だけを並べたものなので、まず直積で全ての組合せを作り、そこから二つの属性の値が等しいという条件で選択すれば得られます。自然結合ならさらに同じ属性の重複を射影で除きますが、等結合では直積と選択だけで足ります。結合は直積に条件を掛けたもの、と覚えると見分けられます。
ほかの選択肢はなぜ違うのか
- ア共通:共通は、二つの関係の両方に含まれる行を取り出す演算で、RとSが同じ属性の並びを持つ必要があります。異なる関係の行を横につなぐことはできないので、結合を表すことはできません。
- イ差:差は、一方の関係の行のうち他方に含まれない行を取り出す演算です。行を絞り込むだけで、RとSの属性を横に並べた組を作れないので、差だけでは結合を表せません。
- ウ直積と射影と差:直積で組合せを作れても、差では属性の値が等しいという条件で行を絞り込むことができません。射影も列を選ぶだけなので、等しい組を選び出す選択の働きが欠けています。
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)