DBMS-liitännät: Sisäinen, vasen ulompi, THETA-tyyppiset yhdistämistoiminnot

Sisällysluettelo:

Anonim

Mikä on liittyminen DBMS: ään?

Liittyminen DBMS: ssä on binaaritoiminto, jonka avulla voit yhdistää yhdistämistuotteen ja valinnan yhteen lausekkeeseen. Liittymisehdon luomisen tavoitteena on, että se auttaa sinua yhdistämään kahden tai useamman DBMS-taulukon tiedot. DBMS: n taulukot liitetään ensisijaiseen avaimeen ja vieraisiin avaimiin.

Tässä DBMS-opetusohjelmassa opit:

  • Liittymisen tyypit
  • Sisäinen liittyminen
    • Theta Liity
    • EQUI-jäsen:
    • Luonnollinen liittyminen (⋈)
  • Ulkopuolinen liittyminen
    • Vasen ulompi liitos (A B)
    • Oikea ulompi liitos (A B)
    • Täysi ulkoinen liitos (A B)

Liittymisen tyypit

DBMS: ssä on pääasiassa kahden tyyppisiä liittymiä:

  1. Sisäiset liittymät: Theta, Natural, EQUI
  2. Ulompi liitos: Vasen, Oikea, Täysi

Katsotaanpa ne yksityiskohtaisesti:

Sisäinen liittyminen

INNER JOIN käytetään palauttamaan molemmista taulukoista rivit, jotka täyttävät annetun ehdon. Se on yleisimmin käytetty liitosoperaatio ja sitä voidaan pitää oletusliitostyyppinä

Sisäinen liitos tai equijoin on vertailupohjainen liitos, joka käyttää tasa-arvon vertailuja liitto-predikaatissa. Jos kuitenkin käytät muita vertailuoperaattoreita, kuten ">", sitä ei voida kutsua equijoiniksi.

Inner Join jaettuna edelleen kolmeen alatyyppiin:

  • Theta liittyy
  • Luonnollinen liitos
  • EQUI liittyy

Theta Liity

THETA JOIN mahdollistaa kahden taulukon yhdistämisen teetan edustaman ehdon perusteella. Theta liittyy kaikkien vertailuoperaattoreiden työhön. Se on merkitty symbolilla θ . JOIN-operaation yleistä tapausta kutsutaan Theta-liittymäksi.

Syntaksi:

A ⋈θ B

Theta-liittyminen voi käyttää mitä tahansa ehtoja valintaperusteissa.

Harkitse seuraavia taulukoita.

Taulukko A Taulukko B
sarake 1 sarake 2 sarake 1 sarake 2
1 1 1 1
1 2 1 3

Esimerkiksi:

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

EQUI Liity

EQUI JOIN tehdään, kun Theta-liittymä käyttää vain vastaavuusehtoa. EQUI-liittymä on vaikein tehokkaasti toteutettava toiminto RDBMS: ssä, ja yksi syy siihen, miksi RDBMS: llä on olennaisia ​​suorituskykyongelmia.

Esimerkiksi:

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

Luonnollinen liittyminen (⋈)

NATURAL JOIN ei käytä yhtään vertailuoperaattoria. Tämän tyyppisessä liittymisessä attribuuteilla tulisi olla sama nimi ja toimialue. Luonnollisessa liittymässä kahden suhteen välillä tulisi olla vähintään yksi yhteinen ominaisuus.

Se suorittaa valinnan, joka muodostaa tasa-arvon niille määritteille, jotka esiintyvät molemmissa suhteissa, ja eliminoi päällekkäiset määritteet.

Esimerkki:

Harkitse seuraavia kahta taulukkoa

C
Num Neliö
2 4
3 9
D
Num Kuutio
2 8
3 18
C ⋈ D
C ⋈ D
Num Neliö Kuutio
2 4 8
3 9 18

Ulkopuolinen liittyminen

Ulkoliitos ei edellytä jokainen ennätys kahden liittyä pöytää on vastaava ennätys. Tämän tyyppisessä liittymässä taulukko säilyttää jokaisen tietueen, vaikka muuta vastaavaa tietuetta ei olisikaan.

Kolme ulkoista liittymää ovat:

  • Vasen ulompi liittymä
  • Oikea ulompi liitos
  • Täysi ulkoinen liittyminen

Vasen ulompi liitos (A B)

LEFT JOIN palauttaa vasemmanpuoleisen taulukon kaikki rivit, vaikka oikeanpuoleisesta taulukosta ei löytynyt yhtään riviä. Kun oikealla olevasta taulukosta ei löydy vastaavaa tietuetta, NULL palautetaan.

Harkitse seuraavia 2 taulukkoa

A
Num Neliö
2 4
3 9
4 16
B
Num Kuutio
2 8
3 18
5 75
A  B
A ⋈ B
Num Neliö Kuutio
2 4 8
3 9 18
4 16 -

Oikea ulompi liitos (A B)

OIKEA JOIN palauttaa kaikki oikeanpuoleisen taulukon sarakkeet, vaikka vasemmanpuoleisesta taulukosta ei löytynyt yhtään riviä. Jos vasemmanpuoleisessa taulukossa ei löytynyt vastaavuuksia, NULL palautetaan. OIKEA ulompi JOIN on VASEN JOIN: n vastakohta

Oletetaan esimerkissämme, että sinun on hankittava heidän vuokraamiensa jäsenten ja elokuvien nimet. Nyt meillä on uusi jäsen, joka ei ole vielä vuokrannut yhtään elokuvaa.

A  B
A ⋈ B
Num Kuutio Neliö
2 8 4
3 18 9
5 75 -

Täysi ulkoinen liitos (A B)

Eräässä FULL ulkoliitoksen , kaikki monikot molemmat suhteet sisältyvät tulos riippumatta vastaavia kunnossa.

Esimerkki:

A  B
A ⋈ B
Num Neliö Kuutio
2 4 8
3 9 18
4 16 -
5 - 75

Yhteenveto:

  • DBMS: ssä on pääasiassa kahden tyyppisiä liitoksia: 1) Sisäinen liitos 2) Ulkoinen liitos
  • Sisäinen liitos on yleisesti käytetty liitosoperaatio, ja sitä voidaan pitää oletusliitostyyppisenä.
  • Sisäinen liitos on jaettu edelleen kolmeen alatyyppiin: 1) Theta-liitos 2) Luonnollinen liitos 3) EQUI-liitos
  • Theta Join -toiminnon avulla voit yhdistää kaksi taulukkoa teetan edustaman ehdon perusteella
  • Kun theta-liitos käyttää vain ekvivalenssiehtoa, siitä tulee equi-liitos.
  • Luonnollinen liittyminen ei käytä mitään vertailuoperaattoreista.
  • Ulompi liitos ei vaadi, että jokaisella kahden liitostaulukon tietueella on vastaava tietue.
  • Outer Join on jaettu edelleen kolmeen alatyyppiin: 1) Vasen Outer Join 2) Oikea Outer Join 3) Full Outer Join
  • VASEN Outer Join palauttaa kaikki rivit vasemmalla olevasta taulukosta, vaikka oikeanpuoleisessa taulukossa ei olisi yhtään riviä.
  • OIKEA ulompi liittymä palauttaa kaikki oikeanpuoleisen taulukon sarakkeet, vaikka vasemmanpuoleisesta taulukosta ei löytynyt yhtään riviä.
  • Täydellisessä ulommassa liitoksessa kaikki molempien suhteiden joukot sisällytetään tulokseen vastaavuusehdosta riippumatta.