DBMS-joins: Inner, THETA, Outer, Equi Typen join-bewerkingen

Wat is meedoen aan DBMS?

Doe mee met DBMS is een binaire bewerking waarmee u join-product en selectie in één enkele instructie kunt combineren. Het doel van het maken van een joinvoorwaarde is dat u hiermee de gegevens uit twee of meer DBMS-tabellen kunt combineren. De tabellen in DBMS zijn gekoppeld met behulp van de primaire sleutel en externe sleutels.

Soorten deelname

Er zijn hoofdzakelijk twee soorten joins in DBMS:

  1. Binnenverbindingen: Theta, Natural, EQUI
  2. Buitenste verbinding: links, rechts, volledig

Laten we ze in detail bekijken:

Innerlijke verbinding

Innerlijke verbinding wordt gebruikt om rijen uit beide tabellen terug te geven die aan de gegeven voorwaarde voldoen. Het is de meest gebruikte join-bewerking en kan worden beschouwd als een standaard join-type

Een Inner join of equijoin is een op comparator gebaseerde join die gelijkheidsvergelijkingen gebruikt in het join-predikaat. Als u echter andere vergelijkingsoperatoren gebruikt, zoals “>”, kan het geen equijoin worden genoemd.

Inner Join verder onderverdeeld in drie subtypen:

  • Theta sluit zich aan
  • Natuurlijk meedoen
  • EQUI sluit zich aan

Theta Doe mee

Theta Doe mee Hiermee kunt u twee tabellen samenvoegen op basis van de voorwaarde die wordt weergegeven door theta. Theta gaat werken voor alle vergelijkingsoperatoren. Het wordt aangegeven met een symbool θ. Het algemene geval van JOIN-bewerking wordt een Theta-join genoemd.

Syntax:

A ⋈θ B

Theta join kan alle voorwaarden in de selectiecriteria gebruiken.

Denk eens aan het volgendewing tabellen.

Tabel A Tabel B
kolom 1 kolom 2 kolom 1 kolom 2
1 1 1 1
1 2 1 3

Bijvoorbeeld:

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.kolom 2 > B.kolom 2 (B)
kolom 1 kolom 2
1 2

EQUI Doe mee

EQUI Doe mee wordt uitgevoerd wanneer een Theta-join alleen de gelijkwaardigheidsvoorwaarde gebruikt. EQUI join is de moeilijkste operatie om efficiënt te implementeren in een RDBMS, en een reden waarom RDBMS essentiële prestatieproblemen hebben.

Bijvoorbeeld:

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.kolom 2 = B.kolom 2 (B)
kolom 1 kolom 2
1 1

Natuurlijke verbinding (⋈)

Natuurlijk toetreden maakt geen gebruik van een van de vergelijkingsoperatoren. Bij dit type join moeten de attributen dezelfde naam en hetzelfde domein hebben. Bij Natural Join moet er minstens één gemeenschappelijk attribuut tussen twee relaties zijn.

Het voert een selectie uit die gelijkheid vormt op de attributen die in beide relaties voorkomen en elimineert de dubbele attributen.

Voorbeeld:

Denk eens aan het volgendewing twee tafels

C
In Square
2 4
3 9
D
In Kubus
2 8
3 18
C ⋈ D
C ⋈ D
In Square Kubus
2 4 8
3 9 18

buitenste join

An buitenste join vereist niet dat elke record in de twee samenvoegtabellen een overeenkomende record heeft. Bij dit type join behoudt de tabel elke record, zelfs als er geen andere overeenkomende record bestaat.

Er zijn drie soorten Outer Joins:

  • Linker Outer Join
  • Rechts buitenste verbinding
  • Volledige Outer Join

Linker buitenverbinding (A ⟕ B)

Linker Outer Join retourneert alle rijen uit de tabel aan de linkerkant, zelfs als er geen overeenkomende rijen zijn gevonden in de tabel aan de rechterkant. Als er geen overeenkomend record wordt gevonden in de tabel aan de rechterkant, wordt NULL geretourneerd.

Linker Outer Join

Denk eens aan het volgendewing 2 Tafels

A
In Square
2 4
3 9
4 16
B
In Kubus
2 8
3 18
5 75
A Left Outer Join B
EEN ⋈ B
In Square Kubus
2 4 8
3 9 18
4 16 -

Rechter buitenverbinding ( A ⟖ B )

Rechts buitenste verbinding retourneert alle kolommen uit de tabel aan de rechterkant, zelfs als er geen overeenkomende rijen zijn gevonden in de tabel aan de linkerkant. Als er geen overeenkomsten zijn gevonden in de tabel aan de linkerkant, wordt NULL geretourneerd. RIGHT outside JOIN is het tegenovergestelde van LEFT JOIN

Laten we in ons voorbeeld aannemen dat u de namen van leden en door hen gehuurde films nodig heeft. Nu hebben we een nieuw lid dat nog geen film heeft gehuurd.

Rechts buitenste verbinding

A Right Outer Join B
EEN ⋈ B
In Kubus Square
2 8 4
3 18 9
5 75 -

Volledige buitenverbinding (A ⟗ B)

In een Volledige Outer Join , worden alle tupels uit beide relaties in het resultaat opgenomen, ongeacht de matchingvoorwaarde.

Voorbeeld:

A Full B
EEN ⋈ B
In Square Kubus
2 4 8
3 9 18
4 16 -
5 - 75

Samengevat

  • Er zijn grofweg twee soorten joins dbms 1) Binnenverbinding 2) Buitenverbinding
  • Een inner join is de veelgebruikte join-bewerking en kan worden beschouwd als een standaard join-type.
  • Inner Join is verder onderverdeeld in drie subtypen: 1) Theta-join 2) Natuurlijke join 3) EQUI-join
  • Met Theta Join kunt u twee tabellen samenvoegen op basis van de voorwaarde die wordt weergegeven door theta
  • Wanneer een theta-join alleen een equivalentievoorwaarde gebruikt, wordt het een equi-join.
  • Natural join maakt geen gebruik van een van de vergelijkingsoperatoren.
  • Voor een outside join hoeft niet elke record in de twee join-tabellen een overeenkomende record te hebben.
  • Outer Join is verder onderverdeeld in drie subtypen: 1) Left Outer Join 2) Right Outer Join 3) Volledige Outer Join
  • De LEFT Outer Join retourneert alle rijen uit de tabel aan de linkerkant, zelfs als er geen overeenkomende rijen zijn gevonden in de tabel aan de rechterkant.
  • De RIGHT Outer Join retourneert alle kolommen uit de tabel aan de rechterkant, zelfs als er geen overeenkomende rijen zijn gevonden in de tabel aan de linkerkant.
  • Bij een volledige outside join worden alle tupels uit beide relaties in het resultaat opgenomen, ongeacht de matchingvoorwaarde.