Hva er Delta i DBMS?
Delta i DBMS er en binær operasjon som lar deg kombinere sammenføyningsprodukt og utvalg i en enkelt uttalelse. Målet med å opprette en sammenkoblingsbetingelse er at det hjelper deg å kombinere dataene fra to eller flere DBMS-tabeller. Tabellene i DBMS er tilknyttet primærnøkkelen og utenlandske nøkler.
I denne DBMS-opplæringen lærer du:
- Typer av Bli med
- Indre sammenføyning
- Theta Bli med
- EQUI bli med:
- Natural Join (⋈)
- Ytre sammenføyning
- Venstre ytre skjøt (A
B)
- Høyre ytre skjøt (A
B)
- Full ytre skjøt (A
B)
Typer av Bli med
Det er hovedsakelig to typer tilknytninger i DBMS:
- Indre sammenføyninger: Theta, Natural, EQUI
- Ytre skjøt: Venstre, Høyre, Full
La oss se dem i detalj:
Indre sammenføyning
INNER JOIN brukes til å returnere rader fra begge tabeller som tilfredsstiller gitt tilstand. Det er den mest brukte sammenkoblingsoperasjonen og kan betraktes som en standard sammenføyningstype
En indre sammenføyning eller equijoin er en komparatorbasert sammenføyning som bruker likestillingssammenligninger i sammenføyningspredikatet. Imidlertid, hvis du bruker andre sammenligningsoperatører som ">", kan det ikke kalles equijoin.
Inner Join videre delt inn i tre undertyper:
- Theta blir med
- Naturlig sammenføyning
- EQUI bli med
Theta Bli med
THETA JOIN lar deg slå sammen to tabeller basert på tilstanden representert av theta. Theta blir med i arbeidet for alle sammenligningsoperatører. Det er betegnet med symbolet θ . Det generelle tilfellet med JOIN-operasjon kalles en Theta-join.
Syntaks:
A ⋈θ B
Theta join kan bruke alle forhold 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 JOIN blir gjort når en Theta-join bare bruker ekvivalensbetingelsen. EQUI-sammenkobling er den vanskeligste operasjonen å implementere effektivt i en RDBMS, og en grunn til at RDBMS har viktige 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 (⋈)
NATURAL JOIN benytter seg ikke av noen av sammenligningsoperatørene. I denne typen sammenkobling skal attributtene ha samme navn og domene. I Natural Join bør det være minst en felles attributt mellom to relasjoner.
Den utfører utvalg som danner likhet på de attributtene som vises i begge relasjoner og eliminerer duplikatattributtene.
Eksempel:
Tenk på følgende to tabeller
C | |
Num | Torget |
2 | 4 |
3 | 9 |
D | |
Num | Kube |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
Num | Torget | Kube |
2 | 4 | 8 |
3 | 9 | 18 |
Ytre sammenføyning
En OUTER JOIN krever ikke at hver post i de to sammenføyningstabellene har en samsvarende post. I denne typen sammenkobling 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 sammenføyning
- Full ytre sammenføyning
Venstre ytre skjøt (A
B)
LEFT JOIN returnerer alle radene fra tabellen til venstre, selv om det ikke er funnet samsvarende rader i tabellen til høyre. Når ingen samsvarende poster ble funnet i tabellen til høyre, returneres NULL.
Tenk på følgende to tabeller
EN | |
Num | Torget |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Kube |
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Num | Torget | Kube |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Høyre ytre skjøt (A
B)
RIGHT JOIN returnerer alle kolonnene fra tabellen til høyre, selv om det ikke er funnet noen samsvarende rader i tabellen til venstre. Der ingen treff er funnet i tabellen til venstre, returneres NULL. HØYRE ytre JOIN er motsatt av LEFT JOIN
La oss i vårt eksempel anta at du trenger å få navnene på medlemmer og filmer leid av dem. Nå har vi fått et nytt medlem som ikke har leid noen film ennå.
AB
A ⋈ B | ||
Num | Kube | Torget |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Full ytre skjøt (A
B)
I en FULL YTRE JOIN er alle tupler fra begge relasjoner inkludert i resultatet, uavhengig av matchende tilstand.
Eksempel:
AB
A ⋈ B | ||
Num | Torget | Kube |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Sammendrag:
- Det er hovedsakelig to typer sammenføyninger i DBMS 1) Inner Join 2) Outer Join
- 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-kobling bare bruker ekvivalensbetingelser, blir den en equi-join.
- 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øte 2) Høyre ytre skjøte 3) Full ytre sammenføyning
- VENSTRE ytre skjøt returnerer alle radene fra tabellen til venstre, selv om det ikke er funnet samsvarende rader i tabellen til høyre.
- RIGHT Outer Join returnerer alle kolonnene fra tabellen til høyre, selv om det ikke er funnet noen samsvarende rader i tabellen til venstre.
- I en full ytre sammenføyning er alle tuplene fra begge forhold inkludert i resultatet, uavhengig av samsvarende tilstand.