ホーム > データベーススペシャリスト試験 > 2018年
データベーススペシャリスト試験 2018年 午前2 問09
関係R、Sの等結合演算は、どの演算によって表すことができるか。
ア:共通
イ:差
ウ:直積と射影と差
エ:直積と選択(正解)
解説
関係R、Sの等結合演算は、どの演算によって表すことができるか。【午前2 解説】
要点まとめ
- 結論:等結合演算は「直積と選択」の組み合わせで表現できる。
- 根拠:等結合は2つの関係の直積から条件を満たすタプルを選択する操作で定義されるため。
- 差がつくポイント:等結合を単なる共通部分や差で表せないことを理解し、直積と選択の役割を正確に把握すること。
正解の理由
等結合演算は、関係RとSの直積をまず求め、その中から結合条件(共通属性の値が等しい)を満たすタプルだけを選択する操作です。
したがって、等結合は「直積」と「選択」の2つの基本演算の組み合わせで表現されます。
選択は条件に合致する行を抽出するために不可欠であり、共通や差ではこの条件指定ができません。
したがって、等結合は「直積」と「選択」の2つの基本演算の組み合わせで表現されます。
選択は条件に合致する行を抽出するために不可欠であり、共通や差ではこの条件指定ができません。
よくある誤解
等結合を「共通部分」や「差」で表せると誤解しがちですが、これらは集合演算であり結合条件の指定ができません。
解法ステップ
- 等結合の定義を確認する(共通属性の値が等しいタプルの結合)。
- 関係RとSの直積を考える(全ての組み合わせを作る)。
- 直積の中から結合条件を満たすタプルを選択する。
- 以上の操作が「直積と選択」の組み合わせであることを理解する。
- 選択肢を比較し、直積と選択を含むものを正解とする。
選択肢別の誤答解説
- ア: 共通
共通は集合の共通部分を取る演算であり、結合条件を指定できないため不適切。 - イ: 差
差は一方の関係にあって他方にないタプルを抽出する演算で、結合とは無関係。 - ウ: 直積と射影と差
射影は列の抽出、差は集合の差分であり、等結合の条件指定には使わない。 - エ: 直積と選択
直積で全組み合わせを作り、選択で結合条件を満たすタプルを抽出するため正解。
補足コラム
等結合はリレーショナル代数の基本的な結合演算の一つで、SQLのINNER JOINに相当します。
直積は全組み合わせを作るため計算量が大きくなることがあり、選択条件で絞り込むことが効率化の鍵です。
直積は全組み合わせを作るため計算量が大きくなることがあり、選択条件で絞り込むことが効率化の鍵です。
FAQ
Q: 等結合と自然結合は同じですか?
A: 自然結合は等結合の一種で、共通属性を自動的に条件にして結合します。等結合は条件を明示的に指定します。
A: 自然結合は等結合の一種で、共通属性を自動的に条件にして結合します。等結合は条件を明示的に指定します。
Q: なぜ共通や差では等結合を表現できないのですか?
A: 共通や差は集合演算であり、タプル間の結合条件を指定して抽出する機能がないためです。
A: 共通や差は集合演算であり、タプル間の結合条件を指定して抽出する機能がないためです。
関連キーワード: 等結合, 直積, 選択演算, リレーショナル代数, 関係データベース, INNER JOIN