Navigation |
|
Allgemeines |
|
Normalformen |
|
Joins |
|
Relationenalgebra |
|
|
|
|
 |
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:
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 |
|  |
|