Tietokannan hallintajärjestelmien liitokset: THETA-, Inner-, Outer- ja Equi-liitostyypit

⚡ Älykäs yhteenveto

Tietokannan hallintajärjestelmissä liitos on binäärioperaatio, joka yhdistää kahden tai useamman taulukon rivit käyttämällä niiden ensisijaista ja viiteavainta. Liitokset jaetaan sisäliitoksiin, jotka palauttavat vain vastaavat rivit, ja ulkoliitoksiin, jotka säilyttävät vastaavat rivit ja täyttävät aukot null-arvolla.

  • 🔗 Ydintarkoitus: Liitos yhdistää toisiinsa liittyvät taulukot yhdeksi tulosjoukoksi liitosehdon perusteella.
  • 🎯 Sisäinen liittyminen: Palauttaa vain rivit, jotka täyttävät ehdon molemmissa taulukoissa; oletusliitostyyppi.
  • 📐 Theta ja EQUI: Theta-liitos käyttää mitä tahansa vertailuoperaattoria; EQUI-liitos käyttää vain yhtäsuuruutta.
  • 🔄 Luonnollinen liittyminen: Vastaa identtisesti nimettyjä määritteitä ja poistaa kaksoiskappaleen.
  • ⬅️ Vasen ulkoliitos: Säilyttää vasemmanpuoleisen taulukon jokaisen rivin ja täyttää null-arvon, jos oikealla ei ole vastinetta.
  • ➡️ Oikea ulompi liitos: Säilyttää jokaisen rivin oikeanpuoleisesta taulukosta ja täyttää null-arvon, jos vasemmanpuoleisella ei ole vastinetta.
  • 🌐 Täysi ulkoliitos: Säilyttää kaikki rivit molemmista taulukoista osumasta riippumatta.

Liitokset tietokannan hallinnan järjestelmässä Vasen Oikea

Mikä on Join-liitos tietokannan hallintajärjestelmässä?

Liity DBMS:ään on binäärioperaatio, jonka avulla voit yhdistää liitostulon ja valinnan yhteen lausekkeeseen. Liitosehdon luomisen tavoitteena on yhdistää tiedot kahdesta tai useammasta taulukosta. Taulukot yhdistetään käyttämällä niiden ensisijaisia ​​avaimia ja vieraat avaimet.

Liittymistyypit

DBMS:ssä on pääasiassa kahdenlaisia ​​liitoksia:

  1. Sisäliitokset: Theta, Natural, EQUI
  2. Ulkoliitokset: Vasen, Oikea, Täysi

Alla olevassa taulukossa esitellään kaikki liitostyypit ennen kuin kutakin selitetään esimerkin avulla.

Liity Palautukset Yhteensopimattomat rivit
Sisäinen (Theta / EQUI / Luonnollinen) Ehtoa vastaavat rivit molemmissa taulukoissa Pudonnut
Vasen ulompi Kaikki vasemmanpuoleiset rivit plus osumat Vasemmalta pidetty, oikealta tyhjä
Oikea ulompi Kaikki oikeat rivit plus osumat Oikealta pidetty, vasemmalta tyhjä
Täysi ulkopinta Kaikki rivit molemmista taulukoista Säilytetty molemmilta, null sieltä, missä puuttuu

Sisäinen liittyminen

Sisäinen liittyminen käytetään palauttamaan rivejä molemmista taulukoista, jotka täyttävät annetun ehdon. Se on yleisimmin käytetty liitosoperaatio ja sitä voidaan pitää oletusliitostyyppinä.

Sisäliitos eli equijoin on vertailuun perustuva liitos, joka käyttää yhtäsuuruusvertailuja liitospredikaatissa. Jos kuitenkin käytät muita vertailuoperaattoreita, kuten ">", sitä ei voida kutsua equijoiniksi. Sisäliitos jaetaan edelleen kolmeen alatyyppiin:

  • Theta liittyy
  • Luonnollinen liitos
  • EQUI liittyä

Theta Liity

Theta Liity mahdollistaa kahden taulukon yhdistämisen theetan edustaman ehdon perusteella. Theeta-liitokset toimivat kaikkien vertailuoperaattoreiden kanssa. Sitä merkitään symbolilla θYleistä JOIN-operaatiota kutsutaan theta-liitokseksi.

Syntaksi:

A ⋈θ B

Theta-liitos voi käyttää mitä tahansa valintakriteerien ehtoja.

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 Liity tehdään, kun theta-liitos käyttää vain ekvivalenssiehtoa. EQUI-liitos on vaikein operaatio toteuttaa tehokkaasti RDBMS, ja se on yksi syy siihen, miksi RDBMS:ssä voi olla 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 (⋈)

Luonnollinen liittyminen ei käytä vertailuoperaattoria. Tällaisessa liitoksessa attribuuteilla tulisi olla sama nimi ja toimialue. Luonnollisessa liitoksessa kahden relaation välillä tulisi olla vähintään yksi yhteinen attribuutti.

Se suorittaa valinnan muodostaen yhtäsuuruuden molemmissa relaatioissa esiintyville attribuuteille ja poistaa päällekkäiset attribuutit.

Esimerkiksi: harkitse seuraavia kahta taulukkoa.

C
Sisään Neliö
2 4
3 9
D
Sisään Kuutio
2 8
3 18
C ⋈ D
C⋈D
Sisään Neliö Kuutio
2 4 8
3 9 18

Ulkopuolinen liittyminen

An Ulkopuolinen liittyminen ei vaadi, että jokaisella kahden yhdistetyn taulukon tietueella on vastaava tietue. Tällaisessa liitoksessa taulukko säilyttää jokaisen tietueen, vaikka muita vastaavia tietueita ei olisikaan. Ulkoliitoksen kolme tyyppiä ovat:

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

Vasen ulkoliitos (A–B)

Vasen ulompi liittymä palauttaa kaikki vasemmanpuoleisen taulukon rivit, vaikka oikeanpuoleisesta taulukosta ei löytyisi vastaavia rivejä. Kun oikealta puolelta ei löydy vastaavaa tietuetta, palautetaan null.

Vasen ulompi liittymä

Tarkastellaan seuraavia kahta taulukkoa.

A
Sisään Neliö
2 4
3 9
4 16
B
Sisään Kuutio
2 8
3 18
5 75
A Left Outer Join B
A ⟕ B
Sisään Neliö Kuutio
2 4 8
3 9 18
4 16 -

Oikea ulompi liitos (A ⟖ B)

Oikea ulompi liitos palauttaa kaikki oikeanpuoleisen taulukon sarakkeet, vaikka vasemmanpuoleisesta taulukosta ei löytyisikään vastaavia rivejä. Jos vasemmalta ei löydy osumia, palautetaan null. Oikea ulkoliitos on vasemmanpuoleisen liitoksen vastakohta.

Oikea ulompi liitos

A Right Outer Join B
A ⟖ B
Sisään Kuutio Neliö
2 8 4
3 18 9
5 75 -

Täysi ulkoliitos (A ⟗ B)

Jonkin sisällä Täysi ulkoinen liittyminen, kaikki monikot molemmista suhteista sisällytetään tulokseen riippumatta vastaavuusehdosta.

Esimerkiksi:

A Full Outer Join B
A ⟗ B
Sisään Neliö Kuutio
2 4 8
3 9 18
4 16 -
5 - 75

UKK

Sisäinen liitos palauttaa vain rivit, jotka vastaavat molemmissa taulukoissa. Ulkoinen liitos säilyttää myös vastaamattomat rivit toisesta tai molemmista taulukoista täyttäen puuttuvan puolen null-arvolla.

Theta-liitos voi käyttää mitä tahansa vertailuoperaattoria, kuten suurempi kuin tai pienempi kuin. EQUI-liitos on theta-liitos, joka on rajoitettu yhtäsuuruusoperaattoriin, joten se löytää vastaavat vain yhtäsuuret arvot.

Molemmat täsmäävät yhtäsuuruuden perusteella, mutta luonnollinen liitos täsmää automaattisesti identtisesti nimettyihin sarakkeisiin ja poistaa kaksoissarakkeen. EQUI-liitos nimeää ehdon eksplisiittisesti ja säilyttää molemmat sarakkeet.

Kyllä. Tekoäly voi skeeman ja kysymyksen perusteella valita liitostyypin ja avaimet, esimerkiksi vasemmanpuoleisen liitoksen pitääkseen asiakkaat, joilla ei ole tilauksia. Vahvista tulos, koska väärä liitos muuttaa rivien määrää.

Kyllä. Tekoäly voi havaita, että liitosavain ei ole yksilöllinen toisella puolella, mikä aiheuttaa monesta moneen -räjähdyksen, ja ehdottaa ehdon lisäämistä tai yhdistämistä ensin, jotta jokainen osuma lasketaan kerran.

Tiivistä tämä viesti seuraavasti: