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: