Pripojenia DBMS: vnútorné, ľavé vonkajšie, THETA typy operácií spojenia

Obsah:

Anonim

Čo je to Pripojiť sa k systému DBMS?

Pripojenie v DBMS je binárna operácia, ktorá umožňuje kombinovať produkt spojenia a výber v jednom príkaze. Cieľom vytvorenia podmienky spojenia je, že vám pomôže spojiť údaje z dvoch alebo viacerých tabuliek DBMS. Tabuľky v DBMS sú asociované pomocou primárneho kľúča a cudzích kľúčov.

V tomto výučbe DBMS sa dozviete:

  • Typy spojenia
  • Vnútorné pripojenie
    • Pripojte sa Theta
    • Pripojiť sa k EQUI:
    • Prirodzené spojenie (⋈)
  • Vonkajší spoj
    • Ľavé vonkajšie spojenie (A B)
    • Pravý vonkajší spoj (A B)
    • Úplné vonkajšie spojenie (A B)

Typy spojenia

V systéme DBMS existujú hlavne dva typy spojení:

  1. Vnútorné spojenia: Theta, prírodné, EQUI
  2. Vonkajší spoj: ľavý, pravý, plný

Pozrime sa na ne podrobne:

Vnútorné pripojenie

INNER JOIN sa používa na vrátenie riadkov z oboch tabuliek, ktoré vyhovujú danej podmienke. Je to najbežnejšia operácia spojenia a dá sa považovať za predvolený typ spojenia

Vnútorné spojenie alebo ekvijoin je spojenie založené na komparátoroch, ktoré používa porovnanie rovnosti v spojení-predikát. Ak však používate iné operátory porovnania, ako je „>“, nemožno to nazvať ekvijoin.

Inner Join sa ďalej delí na tri podtypy:

  • Pripojte sa Theta
  • Prirodzené spojenie
  • Pripojte sa k EQUI

Pripojte sa Theta

THETA JOIN vám umožňuje zlúčiť dve tabuľky na základe podmienky predstavovanej theta. Theta sa pripája k práci pre všetkých operátorov porovnávania. Je označený symbolom θ . Všeobecný prípad operácie JOIN sa nazýva Theta join.

Syntax:

A ⋈θ B

Theta join môže vo výberových kritériách použiť akékoľvek podmienky.

Zvážte nasledujúce tabuľky.

Tabuľka A Tabuľka B
stĺpec 1 stĺpec 2 stĺpec 1 stĺpec 2
1 1 1 1
1 2 1 3

Napríklad:

A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. stĺpec 2> B. stĺpec 2 (B)
stĺpec 1 stĺpec 2
1 2

Pripojte sa k EQUI

Pripojenie EQUI sa vykoná, keď pripojenie Theta používa iba podmienku rovnocennosti. Pripojenie EQUI je najťažšia operácia, ktorá sa dá efektívne implementovať v RDBMS, a jedným z dôvodov, prečo majú RDBMS zásadné problémy s výkonom.

Napríklad:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. stĺpec 2 = B. stĺpec 2 (B)
stĺpec 1 stĺpec 2
1 1

Prirodzené spojenie (⋈)

NATURAL JOIN nevyužíva žiadneho z porovnávacích operátorov. V tomto type spojenia by mali mať atribúty rovnaký názov a doménu. V programe Natural Join by mal byť medzi dvoma vzťahmi aspoň jeden spoločný atribút.

Vykonáva rovnosť formujúcu výber u tých atribútov, ktoré sa objavujú v oboch vzťahoch, a eliminuje duplicitné atribúty.

Príklad:

Zvážte nasledujúce dve tabuľky

C.
Num Námestie
2 4
3 9
D
Num Kocka
2 8
3 18
C ⋈ D
C ⋈ D
Num Námestie Kocka
2 4 8
3 9 18

Vonkajší spoj

OUTER JOIN nevyžaduje každý záznam v dvoch spojení tabuliek mať zodpovedajúci záznam. V tomto type spojenia si tabuľka zachová každý záznam, aj keď neexistuje žiadny iný zhodný záznam.

Tri typy vonkajších spojení sú:

  • Ľavý vonkajší spoj
  • Správne vonkajšie
  • Úplné vonkajšie pripojenie

Ľavé vonkajšie spojenie (A B)

LEFT JOIN vráti všetky riadky z tabuľky vľavo, aj keď v tabuľke vpravo nenájdete žiadne zodpovedajúce riadky. Ak sa v tabuľke vpravo nenájde žiadny zodpovedajúci záznam, vráti sa NULL.

Zvážte nasledujúce 2 tabuľky

A
Num Námestie
2 4
3 9
4 16
B
Num Kocka
2 8
3 18
5 75
A  B
A ⋈ B
Num Námestie Kocka
2 4 8
3 9 18
4 16 -

Pravý vonkajší spoj (A B)

RIGHT JOIN vráti všetky stĺpce z tabuľky vpravo, aj keď v tabuľke vľavo nenájdete žiadne zodpovedajúce riadky. Ak sa v tabuľke vľavo nenašli žiadne zhody, vráti sa NULL. PRAVÉ vonkajšie spojenie je opakom ľavého spojenia

V našom príklade predpokladajme, že musíte získať mená členov a filmy, ktoré si prenajali. Teraz máme nového člena, ktorý si zatiaľ žiadny film neprenajal.

A  B
A ⋈ B
Num Kocka Námestie
2 8 4
3 18 9
5 75 -

Úplné vonkajšie spojenie (A B)

V FULL OUTER JOIN sú do výsledku zahrnuté všetky n-tice z oboch vzťahov bez ohľadu na podmienku zhody.

Príklad:

A  B
A ⋈ B
Num Námestie Kocka
2 4 8
3 9 18
4 16 -
5 - 75

Zhrnutie:

  • V systéme DBMS existujú hlavne dva typy spojení 1) Vnútorné spojenie 2) Vonkajšie pripojenie
  • Vnútorné spojenie je často používanou operáciou spojenia a možno ho považovať za predvolený typ spojenia.
  • Inner Join sa ďalej delí na tri podtypy: 1) Theta join 2) Natural join 3) EQUI join
  • Theta Join vám umožňuje zlúčiť dve tabuľky na základe stavu predstavovaného theta
  • Ak pripojenie theta použije iba podmienku rovnocennosti, stane sa pripojením ekv.
  • Prirodzené spojenie nepoužíva žiadneho z porovnávacích operátorov.
  • Vonkajšie spojenie nevyžaduje, aby každý záznam v dvoch tabuľkách spojení mal zodpovedajúci záznam.
  • Vonkajší spoj sa ďalej delí na tri podtypy: 1) Ľavý vonkajší spoj 2) Pravý vonkajší spoj 3) Úplný vonkajší spoj
  • Funkcia LEFT Outer Join vráti všetky riadky z tabuľky vľavo, aj keď v tabuľke vpravo nenájdete žiadne zodpovedajúce riadky.
  • Funkcia RIGHT Outer Join vráti všetky stĺpce z tabuľky vpravo, aj keď v tabuľke vľavo nenájdete žiadne zodpovedajúce riadky.
  • V úplnom vonkajšom spojení sú do výsledku zahrnuté všetky n-tice z obidvoch vzťahov bez ohľadu na podmienku zhody.