DBMS spajanja: Unutarnji, Lijevi vanjski, THETA Vrste operacija spajanja

Sadržaj:

Anonim

Što je Pridruživanje u DBMS-u?

Pridruživanje u DBMS- u binarna je operacija koja vam omogućuje kombiniranje proizvoda i odabira pridruživanja u jednoj izjavi. Cilj stvaranja uvjeta pridruživanja je da vam pomaže kombinirati podatke iz dvije ili više DBMS tablica. Tablice u DBMS-u povezane su pomoću primarnog i stranog ključa.

U ovom vodiču za DBMS naučit ćete:

  • Vrste pridruživanja
  • Unutarnje pridruživanje
    • Theta Pridružite se
    • EQUI pridruživanje:
    • Prirodno pridruživanje (⋈)
  • Vanjsko pridruživanje
    • Lijevi vanjski spoj (A B)
    • Desno vanjsko spajanje (A B)
    • Potpuno vanjsko pridruživanje (A B)

Vrste pridruživanja

U DBMS-u postoje uglavnom dvije vrste spajanja:

  1. Unutarnji spojevi: Theta, Natural, EQUI
  2. Vanjski spoj: lijevo, desno, puno

Pogledajmo ih detaljno:

Unutarnje pridruživanje

INNER JOIN koristi se za vraćanje redaka iz obje tablice koji zadovoljavaju zadani uvjet. To je najčešće korištena operacija spajanja i može se smatrati zadanim tipom spajanja

Unutarnje spajanje ili izjednačavanje pridruživanje je na temelju usporedbe koje koristi usporedbe jednakosti u predikatu pridruživanja. Međutim, ako koristite druge operatore usporedbe poput ">", to se ne može nazvati equijoin.

Unutarnji spoj dalje podijeljen u tri podvrste:

  • Theta se pridruži
  • Prirodno pridruživanje
  • EQUI pridruži se

Theta Pridružite se

THETA JOIN omogućuje spajanje dviju tablica na temelju stanja predstavljenog theta. Theta se pridružuje radu za sve operatore usporedbe. Označava se simbolom θ . Općeniti slučaj JOIN operacije naziva se Theta join.

Sintaksa:

A ⋈θ B

Theta pridruživanje može koristiti bilo koje uvjete u kriterijima za odabir.

Razmotrite sljedeće tablice.

Tablica A Tablica B
stupac 1 stupac 2 stupac 1 stupac 2
1 1 1 1
1 2 1 3

Na primjer:

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

EQUI Pridružite se

EQUI JOIN se izvodi kada Theta pridruživanje koristi samo uvjet ekvivalencije. Pridruživanje EQUI najteža je operacija za učinkovitu implementaciju u RDBMS i jedan od razloga zašto RDBMS imaju bitne probleme s izvedbom.

Na primjer:

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

Prirodno pridruživanje (⋈)

NATURAL JOIN ne koristi nijedan operator usporedbe. U ovoj vrsti pridruživanja atributi bi trebali imati isto ime i domenu. U Prirodnom spajanju trebao bi postojati barem jedan zajednički atribut između dviju relacija.

Izvršava selekciju tvoreći jednakost na onim atributima koji se pojavljuju u obje relacije i uklanja dvostruke atribute.

Primjer:

Razmotrite sljedeće dvije tablice

C
Num Kvadrat
2 4
3 9
D
Num Kocka
2 8
3 18
C ⋈ D
C ⋈ D
Num Kvadrat Kocka
2 4 8
3 9 18

Vanjsko pridruživanje

VANJSKI PRIDRUŽITE ne zahtijeva svaki zapis u dva pridružiti tablice imati odgovarajući zapis. U ovoj vrsti spajanja, tablica zadržava svaki zapis, čak i ako ne postoji drugi odgovarajući zapis.

Tri su vrste vanjskih pridruživanja:

  • Lijevo vanjsko pridruživanje
  • Desno vanjsko pridruživanje
  • Potpuno vanjsko pridruživanje

Lijevi vanjski spoj (A B)

LEFT JOIN vraća sve retke iz tablice s lijeve strane, čak i ako u tablici s desne strane nisu pronađeni odgovarajući retci. Kad se u tablici s desne strane ne pronađe odgovarajući zapis, vraća se NULL.

Razmotrite sljedeće 2 tablice

A
Num Kvadrat
2 4
3 9
4 16
B
Num Kocka
2 8
3 18
5 75
A  B
A ⋈ B
Num Kvadrat Kocka
2 4 8
3 9 18
4 16 -

Desno vanjsko spajanje (A B)

RIGHT JOIN vraća sve stupce iz tablice s desne strane, čak i ako u tablici s lijeve strane nisu pronađeni odgovarajući retci. Ako u tablici s lijeve strane nisu pronađena podudaranja, vraća se NULL. DESNI vanjski JOIN je suprotnost LEFT JOIN

U našem primjeru pretpostavimo da trebate dobiti imena članova i filmove koje su unajmili. Sad imamo novog člana koji još nije unajmio nijedan film.

A  B
A ⋈ B
Num Kocka Kvadrat
2 8 4
3 18 9
5 75 -

Potpuno vanjsko pridruživanje (A B)

U POTPUNOM VANJSKOM PRIDRUŽIVANJU , u rezultat su uključeni svi kompleti iz oba odnosa, bez obzira na uvjet podudaranja.

Primjer:

A  B
A ⋈ B
Num Kvadrat Kocka
2 4 8
3 9 18
4 16 -
5 - 75

Sažetak:

  • U DBMS-u postoje uglavnom dvije vrste spajanja 1) Unutarnje pridruživanje 2) Vanjsko pridruživanje
  • Unutarnje spajanje je široko korištena operacija spajanja i može se smatrati zadanim tipom spajanja.
  • Unutarnje spajanje je dalje podijeljeno u tri podvrste: 1) Theta spajanje 2) Prirodno spajanje 3) EQUI spajanje
  • Theta Join vam omogućuje spajanje dviju tablica na temelju stanja predstavljenog theta
  • Kada theta spoj koristi samo uvjet ekvivalencije, on postaje equi join.
  • Prirodno spajanje ne koristi nijednog operatora usporedbe.
  • Vanjsko spajanje ne zahtijeva da svaki zapis u dvije tablice spajanja ima odgovarajući zapis.
  • Vanjsko pridruživanje dalje se dijeli na tri podvrste: 1) Lijevo vanjsko pridruživanje 2) Desno vanjsko pridruživanje 3) Potpuno vanjsko pridruživanje
  • LIJEVO vanjsko spajanje vraća sve retke iz tablice s lijeve strane, čak i ako u tablici s desne strane nisu pronađeni odgovarajući retci.
  • DESNO Vanjsko pridruživanje vraća sve stupce iz tablice s desne strane, čak i ako u tablici s lijeve strane nisu pronađeni odgovarajući retci.
  • U potpunom vanjskom spoju, svi nabori iz oba odnosa uključeni su u rezultat, bez obzira na podudarni uvjet.