|
VI.
Joins (Verknüpfungen)
|
|
|
|
1. Das
Join - Konzept
|
|
|
|
Vielleicht haben Sie schon bemerkt, daß
alle bisher verwendeten SOL-Anweisungen auf
nur einer Tabelle beruhen.
|
|
Dies ist jedoch nicht Bedingung. Sie können
mit Leichtigkeit auch Daten selektieren, die aus mehreren Tabellen
stammen. Das Konstrukt, das uns dies ermöglicht, nennt man
Join.
|
|
Ein Join ist immer dann notwendig, wenn Daten
in mehreren Tabellen gehalten werden,
diese Tabellen aber in einer Beziehung zueinander stehen und daher
zusammen angezeigt werden müssen. Diese Beziehung wird meist
über die Primärschlüssel- und Fremdschlüsselspalten
realisiert.
|
| Primärschlüssel ist ein Attribut oder eine
Attributkombination, die eindeutig (UNIQUE) ist und keine NULL-Werte
annehmen darf. |
| Ein Fremdschlüssel ist ein Attribut (oder eine
Attributkombination), das seine Werte aus dem Wertebereich eines
Primärschlüssels oder einer UNIQUE-Spalte(nkombination)
ableitet. |
| In den Beispieltabellen EMP und DEPT ist die Beziehung
über die Spalte DEPTNO modelliert, die in der DEPT- Tabelle
Primärschlüssel und in der EMP -Tabelle Fremdschlüssel
ist. |
| Man unterscheidet zwischen EOUI-, NON EOUI-, SELF-
und OUTER-Join. EOUI-Join bedeutet, daß die Join-Bedingung
mit dem Gleichheitsoperator (=) gebildet wurde, was si- cherlich
den häufigsten Fall darstellt. NON EOUI-Join bedeutet, daß
ein beliebiger Opera- tor in der Join-Bedingung vorkommt. |
SELF-Join bedeutet, daß eine Tabelle mit sich
selbst verknüpft wird. Hier ist es notwen- dig, den Tabellen
in der FROM-Klausel des SELECT-Statements alternative Tabellenbe-
zeichnungen (table aliases) zuzuweisen. |
Im OUTER-Join werden auch Datensätze, die der
Join-Bedingung nicht genügen, in den Ergebnisreport mit einbezogen.
Es ist möglich, diese verschiedenen Join-Möglichkeiten
zu kombinieren. Ein EQUI-Join kann auch ein SELF- und ein OUTER-Join
sein.
Es können auch mehr als zwei Tabellen in einem Join vorkommen,
bei n Tabellen müssen mindestens n-l Join-Bedingungen formuliert
werden. |
| |
| |
| |