DBMS-Joins: THETA, Inner, Outer, Equi-Join-Typen
⚡ Intelligente Zusammenfassung
Joins in Datenbanksystemen sind binäre Operationen, die Zeilen aus zwei oder mehr Tabellen anhand ihrer Primär- und Fremdschlüssel verknüpfen. Man unterscheidet zwischen Inner Joins, die nur übereinstimmende Zeilen zurückgeben, und Outer Joins, die nicht übereinstimmende Zeilen beibehalten und fehlende Werte mit Nullwerten auffüllen.

Was ist ein Join in einem Datenbanksystem?
Treten Sie DBMS bei Eine Join-Bedingung ist eine binäre Operation, mit der sich ein Join-Produkt und eine Auswahl in einer einzigen Anweisung kombinieren lassen. Ziel einer Join-Bedingung ist es, Daten aus zwei oder mehr Tabellen zu verknüpfen. Die Tabellen werden über ihre Primärschlüssel verknüpft. fremde Schlüssel.
Arten von Joins
Im DBMS gibt es hauptsächlich zwei Arten von Verknüpfungen:
- Innere Verbindungen: Theta, Natural, EQUI
- Äußere Verbindungen: Links, Rechts, Vollständig
Die folgende Tabelle gibt einen Überblick über alle Join-Typen, bevor jeder einzelne anhand eines Beispiels erläutert wird.
| Registrieren | Rücksendungen | Nicht übereinstimmende Zeilen |
|---|---|---|
| Inner (Theta / EQUI / Natürlich) | Zeilen, die in beiden Tabellen der Bedingung entsprechen | Fallen gelassen |
| Linke äußere | Alle linken Zeilen plus Übereinstimmungen | Von links gehalten, rechts leer. |
| Rechts außen | Alle rechten Zeilen plus Übereinstimmungen | Von rechts ferngehalten, links leer. |
| Vollständige Außen | Alle Zeilen aus beiden Tabellen | Von beiden Seiten beibehalten, Nullwerte, falls fehlend |
Innerer Beitritt
Innerer Beitritt Diese Operation dient dazu, Zeilen aus beiden Tabellen zurückzugeben, die die angegebene Bedingung erfüllen. Sie ist die am häufigsten verwendete Join-Operation und kann als Standard-Join-Typ betrachtet werden.
Ein Inner Join, auch Equijoin genannt, ist ein auf Vergleichsoperatoren basierender Join, der Gleichheitsvergleiche im Join-Prädikat verwendet. Verwendet man jedoch andere Vergleichsoperatoren wie „>“, spricht man nicht mehr von einem Equijoin. Inner Joins lassen sich in drei Subtypen unterteilen:
- Theta macht mit
- Natürliche Verbindung
- EQUI beitreten
Theta Join
Theta Join Ermöglicht das Zusammenführen zweier Tabellen anhand der durch Theta dargestellten Bedingung. Theta-Joins funktionieren für alle Vergleichsoperatoren. Sie werden durch das Symbol Theta gekennzeichnet. θDer allgemeine Fall einer JOIN-Operation wird als Theta-Join bezeichnet.
Syntax:
A ⋈θ B
Ein Theta-Join kann beliebige Bedingungen in den Auswahlkriterien verwenden.
Betrachten Sie die folgenden Tabellen.
| Tabelle A | Tabelle B | |||
|---|---|---|---|---|
| Spalte 1 | Spalte 2 | Spalte 1 | Spalte 2 | |
| 1 | 1 | 1 | 1 | |
| 1 | 2 | 1 | 3 | |
Beispielsweise:
A ⋈ A.column 2 > B.column 2 (B)
| A ⋈ A.Spalte 2 > B.Spalte 2 (B) | |
|---|---|
| Spalte 1 | Spalte 2 |
| 1 | 2 |
EQUI beitreten
EQUI beitreten Ein EQUI-Join wird durchgeführt, wenn ein Theta-Join ausschließlich die Äquivalenzbedingung verwendet. Er ist die am schwierigsten effizient zu implementierende Operation in einem Theta-Join. RDBMSUnd das ist einer der Gründe, warum ein RDBMS Leistungsprobleme haben kann.
Beispielsweise:
A ⋈ A.column 2 = B.column 2 (B)
| A ⋈ A.Spalte 2 = B.Spalte 2 (B) | |
|---|---|
| Spalte 1 | Spalte 2 |
| 1 | 1 |
Natürliche Verbindung (⋈)
Natürliche Verbindung Diese Verknüpfung verwendet keinen Vergleichsoperator. Bei dieser Art von Verknüpfung müssen die Attribute denselben Namen und dieselbe Domäne haben. Bei einer natürlichen Verknüpfung muss es mindestens ein gemeinsames Attribut zwischen den beiden Relationen geben.
Es führt eine Selektion durch, die Gleichheit der Attribute herstellt, die in beiden Relationen vorkommen, und eliminiert die doppelten Attribute.
Ejemplo: Betrachten Sie die folgenden beiden Tabellen.
| C | |
|---|---|
| Num | Quadratisch |
| 2 | 4 |
| 3 | 9 |
| D | |
|---|---|
| Num | Würfel |
| 2 | 8 |
| 3 | 18 |
C ⋈ D
| C ⋈ D | ||
|---|---|---|
| Num | Quadratisch | Würfel |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
Äußere Verbindung
An Äußere Verbindung Es ist nicht erforderlich, dass jeder Datensatz in den beiden verknüpften Tabellen einen entsprechenden Datensatz hat. Bei dieser Art von Verknüpfung behält die Tabelle jeden Datensatz bei, selbst wenn kein weiterer übereinstimmender Datensatz existiert. Die drei Arten von Outer Joins sind:
- Linke äußere Verbindung
- Rechte äußere Verknüpfung
- Vollständige äußere Verbindung
Linker äußerer Join (A ⟕ B)
Linke äußere Verbindung Gibt alle Zeilen der Tabelle links zurück, auch wenn in der Tabelle rechts keine übereinstimmenden Zeilen gefunden werden. Wird rechts kein übereinstimmender Datensatz gefunden, wird null zurückgegeben.
Betrachten Sie die folgenden beiden Tabellen.
| A | |
|---|---|
| Num | Quadratisch |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
| B | |
|---|---|
| Num | Würfel |
| 2 | 8 |
| 3 | 18 |
| 5 | 75 |
AB
| A ⟕ B | ||
|---|---|---|
| Num | Quadratisch | Würfel |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
Right Outer Join (A ⟖ B)
Rechte äußere Verknüpfung Gibt alle Spalten der Tabelle auf der rechten Seite zurück, selbst wenn in der Tabelle auf der linken Seite keine übereinstimmenden Zeilen gefunden werden. Werden keine Übereinstimmungen auf der linken Seite gefunden, wird NULL zurückgegeben. Ein Right Outer Join ist das Gegenteil eines Left Joins.
AB
| A ⟖ B | ||
|---|---|---|
| Num | Würfel | Quadratisch |
| 2 | 8 | 4 |
| 3 | 18 | 9 |
| 5 | 75 | - |
Vollständiger äußerer Join (A ⟗ B)
Kurz und Vollständige äußere Verbindungwerden alle Tupel aus beiden Relationen in das Ergebnis einbezogen, unabhängig von der Übereinstimmungsbedingung.
Ejemplo:
AB
| A ⟗ B | ||
|---|---|---|
| Num | Quadratisch | Würfel |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
| 5 | - | 75 |


