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:
- Indre ledd: Theta, Natural, EQUI
- 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.
Tenk på følgende 2 tabeller
| A | |
|---|---|
| I | Square |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
| B | |
|---|---|
| I | Cube |
| 2 | 8 |
| 3 | 18 |
| 5 | 75 |
AB
| 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å.
AB
| 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:
AB
| 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.


