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.

  • 🔗 Hauptzweck: Ein Join führt verwandte Tabellen anhand einer Join-Bedingung zu einem einzigen Ergebnissatz zusammen.
  • 🎯 Innere Verbindung: Gibt nur Zeilen zurück, die die Bedingung in beiden Tabellen erfüllen; der Standard-Join-Typ.
  • 📐 Theta und EQUI: Ein Theta-Join verwendet beliebige Vergleichsoperatoren; ein EQUI-Join verwendet nur Gleichheitsoperatoren.
  • 🔄 Natürliche Verbindung: Es werden Übereinstimmungen anhand gleichnamiger Attribute gefunden und die doppelte Spalte entfernt.
  • ⬅️ Linke äußere Verbindung: Behält alle Zeilen der linken Tabelle bei und füllt leere Zeilen dort auf, wo es in der rechten Tabelle keine Entsprechung gibt.
  • ➡️ Rechte äußere Verbindung: Behält alle Zeilen der rechten Tabelle bei und füllt leere Zeilen auf, wo es in der linken Tabelle keine Entsprechung gibt.
  • 🌐 Vollständiger äußerer Join: Behält alle Zeilen aus beiden Tabellen unabhängig vom Ergebnis bei.

Joins in DBMS Links Rechts

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:

  1. Innere Verbindungen: Theta, Natural, EQUI
  2. Ä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.

Linke äußere Verbindung

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
A Left Outer Join B
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.

Rechte äußere Verknüpfung

A Right Outer Join B
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:

A Full Outer Join B
A ⟗ B
Num Quadratisch Würfel
2 4 8
3 9 18
4 16 -
5 - 75

Häufig gestellte Fragen

Ein Inner Join gibt nur Zeilen zurück, die in beiden Tabellen übereinstimmen. Ein Outer Join behält zusätzlich nicht übereinstimmende Zeilen aus einer oder beiden Tabellen bei und füllt die fehlenden Zeilen mit NULL-Werten auf.

Ein Theta-Join kann beliebige Vergleichsoperatoren verwenden, beispielsweise „größer als“ oder „kleiner als“. Ein EQUI-Join ist ein Theta-Join, der auf den Gleichheitsoperator beschränkt ist und daher nur gleiche Werte findet.

Beide Joins prüfen auf Gleichheit, aber ein Natural Join gleicht Spalten automatisch ab und entfernt die doppelte Spalte. Ein EQUI Join hingegen definiert die Bedingung explizit und behält beide Spalten bei.

Ja. Anhand des Schemas und der Fragestellung kann die KI den Join-Typ und die Schlüssel auswählen, beispielsweise einen Left Join, um Kunden ohne Bestellungen beizubehalten. Überprüfen Sie das Ergebnis, da ein falscher Join die Zeilenanzahl verändert.

Ja. Die KI kann erkennen, dass der Join-Schlüssel auf einer Seite nicht eindeutig ist, was zu einer Viele-zu-Viele-Explosion führt, und schlägt vor, eine Bedingung hinzuzufügen oder zuerst zu aggregieren, sodass jede Übereinstimmung nur einmal gezählt wird.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: