ホーム > データベーススペシャリスト試験 > 2014年
データベーススペシャリスト試験 2014年 午前2 問09
関係R, Sの等結合演算はどの演算によって表すことができるか。
ア:共通
イ:差
ウ:直積と射影と差
エ:直積と選択(正解)
解説
関係R, Sの等結合演算はどの演算によって表すことができるか。【午前2 解説】
要点まとめ
- 結論:等結合演算は「直積と選択」の組み合わせで表現できる。
- 根拠:等結合は2つの関係の直積から条件に合うタプルを選択する操作だから。
- 差がつくポイント:直積だけでなく、条件に基づく選択が必須である点を理解すること。
正解の理由
等結合演算は、関係RとSの直積をまず求め、その結果から結合条件(等値条件)を満たすタプルだけを選択する操作です。したがって、直積演算で全組み合わせを作り、選択演算で条件を絞り込むことで等結合を実現します。選択演算は結合条件を指定するために不可欠であり、これがないと単なる直積のままです。
よくある誤解
等結合を「共通」や「差」演算で表せると誤解しがちですが、これらは集合演算であり結合条件を扱えません。直積と選択の組み合わせが正しい表現です。
解法ステップ
- 関係RとSの直積を計算し、全ての組み合わせのタプルを作る。
- 直積の結果から、等結合の条件(例えばRの属性A = Sの属性B)を満たすタプルを選択する。
- 選択されたタプルが等結合の結果となる。
選択肢別の誤答解説
- ア: 共通
共通は2つの関係に共通するタプルを抽出する集合演算であり、結合条件を扱えません。 - イ: 差
差は一方の関係に存在し他方に存在しないタプルを抽出する演算で、結合とは無関係です。 - ウ: 直積と射影と差
射影や差は等結合の基本操作ではなく、結合条件の選択を含まないため不適切です。 - エ: 直積と選択
直積で全組み合わせを作り、選択で条件を絞るため等結合を正しく表現できます。
補足コラム
等結合はリレーショナル代数の基本的な結合操作の一つで、SQLのINNER JOINに相当します。直積は全組み合わせを生成するため計算量が大きくなることがあり、実際のデータベースでは効率的な結合アルゴリズムが用いられます。
FAQ
Q: 等結合と自然結合はどう違いますか?
A: 等結合は指定した属性の値が等しいタプルを結合します。自然結合は共通の属性名を自動的に等結合条件として結合します。
A: 等結合は指定した属性の値が等しいタプルを結合します。自然結合は共通の属性名を自動的に等結合条件として結合します。
Q: 直積だけで結合はできませんか?
A: 直積は全組み合わせを作るだけで、条件による絞り込みがないため結合とは言えません。選択が必要です。
A: 直積は全組み合わせを作るだけで、条件による絞り込みがないため結合とは言えません。選択が必要です。
関連キーワード: 等結合, 直積, 選択演算, リレーショナル代数, 関係データベース