DBMS Joins: Inner, THETA, Outer, Equi Types of Join Operasjoner

Hva er Join in DBMS?

Bli med i DBMS er en binær operasjon som lar deg kombinere produkt og utvalg i én enkelt setning. Målet med å lage en sammenføyningsbetingelse er at den hjelper deg å kombinere dataene fra to eller flere DBMS-tabeller. Tabellene i DBMS er assosiert ved hjelp av primærnøkkelen og fremmednøkler.

Typer bli med

Det er hovedsakelig to typer sammenføyninger i DBMS:

  1. Indre ledd: Theta, Natural, EQUI
  2. Ytre skjøt: Venstre, Høyre, Full

La oss se dem i detalj:

Indre sammenføyning

Indre sammenføyning brukes til å returnere rader fra begge tabellene som tilfredsstiller den gitte betingelsen. Det er den mest brukte sammenføyningsoperasjonen og kan betraktes som en standard sammenføyningstype

En indre sammenføyning eller equijoin er en komparatorbasert sammenføyning som bruker likhetssammenligninger i sammenføyningspredikatet. Men hvis du bruker andre sammenligningsoperatorer som ">" kan det ikke kalles equijoin.

Inner Join videre delt inn i tre undertyper:

  • Theta bli med
  • Naturlig sammenføyning
  • EQUI bli med

Theta Bli med

Theta Bli med lar deg slå sammen to tabeller basert på tilstanden representert av theta. Theta blir med i arbeid for alle sammenligningsoperatører. Det er merket med symbol θ. Det generelle tilfellet med JOIN-operasjon kalles en Theta-join.

Syntaks:

A ⋈θ B

Theta join kan bruke alle betingelser i utvalgskriteriene.

Tenk på følgende tabeller.

Tabell A Tabell B
kolonne 1 kolonne 2 kolonne 1 kolonne 2
1 1 1 1
1 2 1 3

For eksempel:

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

EQUI Bli med

EQUI Bli med gjøres når en Theta-sammenføyning kun bruker ekvivalensbetingelsen. EQUI join er den vanskeligste operasjonen å implementere effektivt i en RDBMS, og en grunn til at RDBMS har essensielle ytelsesproblemer.

For eksempel:

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

Natural Join (⋈)

Naturlig Bli med bruker ikke noen av sammenligningsoperatørene. I denne typen sammenføyning skal attributtene ha samme navn og domene. I Natural Join bør det være minst én felles egenskap mellom to relasjoner.

Den utfører seleksjon som danner likhet på de attributtene som vises i begge relasjoner og eliminerer dupliserte attributter.

Eksempel:

Tenk på de to følgende tabellene

C
I Square
2 4
3 9
D
I Cube
2 8
3 18
C ⋈ D
C ⋈ D
I Square Cube
2 4 8
3 9 18

Ytre sammenføyning

An Ytre sammenføyning krever ikke at hver post i de to sammenføyningstabellene har en samsvarende post. I denne typen sammenføyning beholder tabellen hver post selv om det ikke finnes noen annen samsvarende post.

Tre typer ytre skjøter er:

  • Venstre ytre skjøt
  • Høyre ytre skjøt
  • Full ytre sammenføyning

Venstre ytre skjøt (A ⟕ B)

Venstre ytre skjøt returnerer alle radene fra tabellen til venstre selv om ingen samsvarende rader er funnet i tabellen til høyre. Når ingen samsvarende post er funnet i tabellen til høyre, returneres NULL.

Venstre ytre skjøt

Tenk på følgende 2 tabeller

A
I Square
2 4
3 9
4 16
B
I Cube
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
I Square Cube
2 4 8
3 9 18
4 16 -

Høyre ytre skjøt (A ⟖ B)

Høyre ytre skjøt returnerer alle kolonnene fra tabellen til høyre selv om ingen samsvarende rader er funnet i tabellen til venstre. Der det ikke er funnet treff i tabellen til venstre, returneres NULL. RIGHT ytre JOIN er det motsatte av LEFT JOIN

I vårt eksempel, la oss anta at du trenger å få navn på medlemmer og filmer leid av dem. Nå har vi et nytt medlem som ikke har leid noen film ennå.

Høyre ytre skjøt

A Right Outer Join B
A ⋈ B
I Cube Square
2 8 4
3 18 9
5 75 -

Full ytre skjøt (A ⟗ B)

I en Full ytre sammenføyning , alle tupler fra begge relasjonene er inkludert i resultatet, uavhengig av samsvarsbetingelsen.

Eksempel:

A Full B
A ⋈ B
I Square Cube
2 4 8
3 9 18
4 16 -
5 - 75

Sammendrag

  • Det er hovedsakelig to typer sammenføyninger DBMS 1) Indre skjøt 2) Ytre skjøt
  • En indre sammenføyning er den mye brukte sammenføyningsoperasjonen og kan betraktes som en standard sammenføyningstype.
  • Inner Join er videre delt inn i tre undertyper: 1) Theta join 2) Natural join 3) EQUI join
  • Theta Join lar deg slå sammen to tabeller basert på tilstanden representert av theta
  • Når en theta-sammenføyning kun bruker ekvivalensbetingelse, blir den en ekvi-sammenføyning.
  • Natural join bruker ikke noen av sammenligningsoperatørene.
  • En ytre sammenføyning krever ikke at hver post i de to sammenføyningstabellene har en samsvarende post.
  • Ytre skjøt er videre delt inn i tre undertyper er: 1) Venstre ytre skjøt 2) Høyre ytre skjøt 3) Full ytre skjøt
  • LEFT Outer Join returnerer alle radene fra tabellen til venstre, selv om ingen samsvarende rader er funnet i tabellen til høyre.
  • RIGHT Outer Join returnerer alle kolonnene fra tabellen til høyre, selv om ingen samsvarende rader er funnet i tabellen til venstre.
  • I en full ytre sammenføyning er alle tupler fra begge relasjoner inkludert i resultatet, uavhengig av matchende betingelse.

Oppsummer dette innlegget med: