等結合とは?とうけつごう
等結合とは、2つの関係の直積を作ったうえで、指定した列どうしの値が等しいタプルだけを選択して残す結合。結合に使った列は両方の表の分がそのまま結果に残るため、同じ値の列が2つ並ぶ。この重複する結合列を1つにまとめたものが自然結合で、両者の違いは結果の次数に現れる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
関係モデルは表と表をポインタでつながないので、関連は「同じ値を持つ行どうし」としてしか表せない。とはいえ直積は行数の掛け算になり、意味のない組み合わせが大量に生まれる。直積のうち値が一致する組だけを残す操作を1つの演算として名前を付けたのが等結合で、選択と直積の組み合わせに帰着できることが試験でも問われる。
具体例
社員表と部門表を部門コードで等結合すると、結果には社員側の部門コードと部門側の部門コードが2列とも現れる。社員50人・部門5つなら直積は250行になるが、等結合では条件に合う50行だけが残る。
試験での引っ掛け
重複する結合列を1つにまとめたものが自然結合であり、等結合と自然結合の違いは結合列が重複して残るかどうかだけである。また等結合は関係代数の基本演算ではなく、直積と選択の組み合わせで表せる派生演算にすぎない点も問われる。
関連用語
出た過去問
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9(IPA)
関係R, Sの等結合演算は、どの演算によって表すことができるか。
正解:直積と選択
要点:等結合は直積を作って結合条件で選択したもの
等結合は、まず二つの関係の直積を作り、そこから指定した属性の値が等しいタプルだけを選択することで得られる。すなわち直積と選択の組合せで表現できる。なお、重複する結合列を取り除いた自然結合ではさらに射影が必要になる。
出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問11(IPA)
関係R, Sの等結合演算は、どの演算によって表すことができるか。
正解:直積と選択
要点:等結合は直積を作って選択で条件を満たす組を残す演算
等結合は、2つの関係のタプルをすべて組み合わせたうえで、指定した属性同士の値が等しい組だけを残す演算とみなせる。すなわち直積を作ってから選択で絞り込めば表現できるので、エが正しい。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問9(IPA)
"商品"表と"納品"表を商品番号で等結合した結果はどれか。
正解:商品番号・商品名・価格・商品番号・顧客番号・納品数の列(商品番号が2列)を持ち、S01/ボールペン/150/S01/C01/10、S01/ボールペン/150/S01/C02/30、S02/消しゴム/80/S02/C02/20、S02/消しゴム/80/S02/C03/40、S03/クリップ/200/S03/C03/60 の5行(納品明細ごとに1行)。
要点:等結合は結合列を重複したまま残す(自然結合との違い)
等結合は直積のうち結合条件が成り立つ組だけを残す演算で、自然結合と違って重複する結合列は消去されない。したがって結果には商品側と納品側の商品番号が2列とも現れる。行数は納品側の明細数に一致し、1商品に複数明細があればその数だけ商品情報が繰り返される。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。