DBMS-Joins: Inner-, THETA-, Outer- und Equi-Join-Typen Operations
Was ist Join in DBMS?
Treten Sie DBMS bei ist eine binäre Operation, mit der Sie das Join-Produkt und die Auswahl in einer einzigen Anweisung kombinieren können. Das Ziel der Erstellung einer Join-Bedingung besteht darin, dass Sie damit die Daten aus zwei oder mehr DBMS-Tabellen kombinieren können. Die Tabellen im DBMS werden mithilfe des Primärschlüssels und der Fremdschlüssel verknüpft.
Arten von Joins
Im DBMS gibt es hauptsächlich zwei Arten von Verknüpfungen:
- Innere Verbindungen: Theta, Natural, EQUI
- Äußere Verbindung: Links, rechts, vollständig
Schauen wir sie uns im Detail an:
Innerer Beitritt
Innerer Beitritt wird verwendet, um Zeilen aus beiden Tabellen zurückzugeben, die die angegebene Bedingung erfüllen. Dies ist die am häufigsten verwendete Join-Operation und kann als Standard-Join-Typ betrachtet werden.
Ein Inner Join oder Equijoin ist ein komparatorbasierter Join, der Gleichheitsvergleiche im Join-Prädikat verwendet. Wenn Sie jedoch andere Vergleichsoperatoren wie „>“ verwenden, kann er nicht als Equijoin bezeichnet werden.
Inner Join ist weiter in drei Untertypen unterteilt:
- Theta macht mit
- Natürliche Verbindung
- EQUI beitreten
Theta Join
Theta Join ermöglicht Ihnen, zwei Tabellen basierend auf der durch Theta dargestellten Bedingung zusammenzuführen. Theta-Joins funktionieren für alle Vergleichsoperatoren. Sie werden durch das Symbol gekennzeichnet θDer allgemeine Fall einer JOIN-Operation wird als Theta-Join bezeichnet.
Syntax:
A ⋈θ B
Der 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 wird durchgeführt, wenn ein Theta-Join nur die Äquivalenzbedingung verwendet. Der EQUI-Join ist die am schwierigsten zu implementierende Operation in einem RDBMSund ein Grund, warum RDBMS erhebliche Leistungsprobleme haben.
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 verwendet keinen der Vergleichsoperatoren. Bei dieser Art von Join müssen die Attribute denselben Namen und dieselbe Domäne haben. Bei Natural Join muss es zwischen zwei Relationen mindestens ein gemeinsames Attribut geben.
Es führt eine Selektion zur Gleichstellung der Attribute durch, die in beiden Beziehungen vorkommen, und eliminiert die doppelten Attribute.
Beispiel:
Betrachten Sie die folgenden beiden Tabellen
C | |
---|---|
Num | Quadratische Form |
2 | 4 |
3 | 9 |
D | |
---|---|
Num | Würfel |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
---|---|---|
Num | Quadratische Form | Würfel |
2 | 4 | 8 |
3 | 9 | 18 |
Äußere Verbindung
An Äußere Verbindung erfordert nicht, dass jeder Datensatz in den beiden Join-Tabellen über einen übereinstimmenden Datensatz verfügt. Bei diesem Join-Typ behält die Tabelle jeden Datensatz bei, auch wenn kein anderer übereinstimmender Datensatz vorhanden ist.
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 passenden Zeilen gefunden wurden. Wenn in der Tabelle rechts kein passender Datensatz gefunden wird, wird NULL zurückgegeben.
Betrachten Sie die folgenden 2 Tabellen
A | |
---|---|
Num | Quadratische Form |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
---|---|
Num | Würfel |
2 | 8 |
3 | 18 |
5 | 75 |
A B
A ⋈ B | ||
---|---|---|
Num | Quadratische Form | Würfel |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Rechter äußerer Join (A ⟖ B)
Rechte äußere Verknüpfung Gibt alle Spalten der rechten Tabelle zurück, auch wenn in der linken Tabelle keine passenden Zeilen gefunden wurden. Wenn in der Tabelle links keine Übereinstimmungen gefunden wurden, wird NULL zurückgegeben. RIGHT äußere JOIN ist das Gegenteil von LEFT JOIN
Nehmen wir in unserem Beispiel an, dass Sie die Namen der Mitglieder und der von ihnen ausgeliehenen Filme benötigen. Jetzt haben wir ein neues Mitglied, das noch keinen Film ausgeliehen hat.
A B
A ⋈ B | ||
---|---|---|
Num | Würfel | Quadratische Form |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Vollständiger äußerer Join (A ⟗ B)
Kurz und Vollständige äußere Verbindung werden alle Tupel aus beiden Relationen in das Ergebnis einbezogen, unabhängig von der Übereinstimmungsbedingung.
Beispiel:
A B
A ⋈ B | ||
---|---|---|
Num | Quadratische Form | Würfel |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Zusammenfassung
- Es gibt hauptsächlich zwei Arten von Joins DBMS 1) Innerer Join 2) Äußerer Join
- Ein Inner Join ist die am häufigsten verwendete Verbindungsoperation und kann als Standardverbindungstyp betrachtet werden.
- Inner Join ist weiter in drei Untertypen unterteilt: 1) Theta-Join, 2) Natural-Join und 3) EQUI-Join
- Mit Theta Join können Sie zwei Tabellen basierend auf der durch Theta dargestellten Bedingung zusammenführen
- Wenn ein Theta-Join nur die Äquivalenzbedingung verwendet, wird er zu einem Equi-Join.
- Der natürliche Join verwendet keinen der Vergleichsoperatoren.
- Bei einem Outer-Join muss nicht jeder Datensatz in den beiden Join-Tabellen über einen übereinstimmenden Datensatz verfügen.
- Der Outer Join ist weiter in drei Untertypen unterteilt: 1) Left Outer Join, 2) Right Outer Join, 3) Full Outer Join
- Der LEFT Outer Join gibt alle Zeilen der Tabelle links zurück, auch wenn in der Tabelle rechts keine passenden Zeilen gefunden wurden.
- Der RIGHT Outer Join gibt alle Spalten der rechten Tabelle zurück, auch wenn in der linken Tabelle keine passenden Zeilen gefunden wurden.
- Bei einem vollständigen Outer-Join werden unabhängig von der Übereinstimmungsbedingung alle Tupel aus beiden Beziehungen in das Ergebnis einbezogen.