Datenbank Grundlagen
Navigation
Allgemeines
Normalformen
Joins
Relationenalgebra
 
 
abstandhalter


Theta-Join/Verbund

Ein Theta-Join ist eine Verbindung von Relationen bezüglich beliebiger Attribute und mit einem Selektionsprädikat. Dafür sind die Vergleichsoperatoren =, <, >, ≤, ≥, <>, != zugelassen.
Konkret wird beim Theta-Join erst einmal das kartesische Produkt zwischen den beiden Relationen gebildet. Anschließend wird auf dieses kartesische Produkt die Join-Bedingung angewandt, sodass man damit die Selektion erhält.

Die Schreibweise für einen Theta-Join lautet:
r1 * [Join-Bedigung] r2

Damit ist laut Definition ein Theta-Join:


r1 * [Join-Bedigung] r2 = σ[Join-Bedigung] (r1 × r2)

Beispiel für einen Theta-Join

Es sind folgende Relationen r1 und r2 gegeben:

r1
a b c
1 1 0
2 1 3
r2
d e
1 1
2 1


Nun soll folgender Theta-Join ausgeführt werden: r1 * [a ≤ d] r2

Wer nun den Theta-Join nicht sofort ausführen kann, der bestimmt erst einmal das kartesische Produkt von r1 und r2:

r1 × r2
a b c d e
1 1 0 1 1
1 1 0 2 1
2 1 3 1 1
2 1 3 2 1

Darauf wendet man nun die Bedigung: a ≤ d an und kommt auf folgendes Ergebnis für den Theta-Join:

r1 * [a ≤ d] r2
a b c d e
1 1 0 1 1
1 1 0 2 1
2 1 3 2 1




abstandhalter