Îmbinări DBMS: interioare, stânga exterioare, tipuri de operațiuni de asociere THETA

Cuprins:

Anonim

Ce este Join in DBMS?

Join in DBMS este o operație binară care vă permite să combinați produsul join și selecția într-o singură declarație. Scopul creării unei condiții de asociere este acela că vă ajută să combinați datele din două sau mai multe tabele SGBD. Tabelele din SGBD sunt asociate utilizând cheia primară și cheile străine.

În acest tutorial DBMS, veți afla:

  • Tipuri de Alăturare
  • Alăturare interioară
    • Theta Join
    • Alăturați-vă EQUI:
    • Alăturare naturală (⋈)
  • Alăturare exterioară
    • Îmbinare exterioară stângă (A B)
    • Îmbinare exterioară dreaptă (A B)
    • Alăturare exterioară completă (A B)

Tipuri de Alăturare

Există în principal două tipuri de îmbinări în SGBD:

  1. Îmbinări interioare: Theta, Natural, EQUI
  2. Alăturare exterioară: stânga, dreapta, completă

Să le vedem în detaliu:

Alăturare interioară

INNER JOIN este utilizat pentru a returna rânduri din ambele tabele care îndeplinesc condiția dată. Este cea mai utilizată operațiune de asociere și poate fi considerată ca un tip de asociere implicit

O îmbinare interioară sau echijoin este o îmbinare bazată pe comparator care folosește comparații de egalitate în predicatul de îmbinare. Cu toate acestea, dacă utilizați alți operatori de comparație precum ">", acesta nu poate fi numit echijoin.

Alăturare interioară divizată în continuare în trei subtipuri:

  • Theta se alătură
  • Alăturare naturală
  • Alătură-te EQUI

Theta Join

THETA JOIN vă permite să îmbinați două tabele pe baza condiției reprezentate de theta. Theta se alătură lucrului pentru toți operatorii de comparație. Se notează cu simbolul θ . Cazul general al operației JOIN se numește unire Theta.

Sintaxă:

A ⋈θ B

Unirea Theta poate utiliza orice condiții din criteriile de selecție.

Luați în considerare următoarele tabele.

Tabelul A Tabelul B
coloana 1 coloana 2 coloana 1 coloana 2
1 1 1 1
1 2 1 3

De exemplu:

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

EQUI Alătură-te

EQUI JOIN se face atunci când o îmbinare Theta folosește doar condiția de echivalență. EQUI join este cea mai dificilă operațiune de implementat eficient într-un RDBMS și un motiv pentru care RDBMS are probleme esențiale de performanță.

De exemplu:

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

Alăturare naturală (⋈)

NATURAL JOIN nu utilizează niciunul dintre operatorii de comparație. În acest tip de asociere, atributele ar trebui să aibă același nume și domeniu. În Unirea naturală, ar trebui să existe cel puțin un atribut comun între două relații.

Realizează selecție formând egalitate pe acele atribute care apar în ambele relații și elimină atributele duplicate.

Exemplu:

Luați în considerare următoarele două tabele

C
Num Pătrat
2 4
3 9
D
Num cub
2 8
3 18
C ⋈ D
C ⋈ D
Num Pătrat cub
2 4 8
3 9 18

Alăturare exterioară

Un OUTER JOIN nu necesită fiecare înregistrare din cele două tabele de îmbinare pentru a avea o înregistrare potrivită. În acest tip de asociere, tabelul reține fiecare înregistrare chiar dacă nu există altă înregistrare potrivită.

Trei tipuri de îmbinări exterioare sunt:

  • Stânga la exterior
  • Alăturați-vă la dreapta
  • Alăturare completă exterioară

Îmbinare exterioară stângă (A B)

LEFT JOIN returnează toate rândurile din tabelul din stânga, chiar dacă nu au fost găsite rânduri potrivite în tabelul din dreapta. Când nu se găsește nicio înregistrare de potrivire în tabelul din dreapta, se returnează NULL.

Luați în considerare următoarele 2 tabele

A
Num Pătrat
2 4
3 9
4 16
B
Num cub
2 8
3 18
5 75
A  B
A ⋈ B
Num Pătrat cub
2 4 8
3 9 18
4 16 -

Îmbinare exterioară dreaptă (A B)

RIGHT JOIN returnează toate coloanele din tabelul din dreapta chiar dacă nu au fost găsite rânduri potrivite în tabelul din stânga. În cazul în care nu s-au găsit potriviri în tabelul din stânga, NULL este returnat. DREPTUL ÎMBINAREA exterioară este opusul ÎNCHIDERII STÂNGA

În exemplul nostru, să presupunem că trebuie să obțineți numele membrilor și filmele închiriate de aceștia. Acum avem un nou membru care nu a închiriat încă niciun film.

A  B
A ⋈ B
Num cub Pătrat
2 8 4
3 18 9
5 75 -

Alăturare exterioară completă (A B)

Într-un FULL OUTER JOIN , toate tuplurile din ambele relații sunt incluse în rezultat, indiferent de condiția de potrivire.

Exemplu:

A  B
A ⋈ B
Num Pătrat cub
2 4 8
3 9 18
4 16 -
5 - 75

Rezumat:

  • Există în principal două tipuri de asocieri în SGBD 1) Asociere interioară 2) Asociere exterioară
  • O îmbinare interioară este operațiunea de îmbinare utilizată pe scară largă și poate fi considerată ca un tip de îmbinare implicit.
  • Unirea interioară este împărțită în trei subtipuri: 1) Unirea Theta 2) Unirea naturală 3) Unirea EQUI
  • Theta Join vă permite să îmbinați două tabele pe baza condiției reprezentate de theta
  • Când o îmbinare theta folosește doar condiția de echivalență, ea devine o îmbinare echi.
  • Unirea naturală nu utilizează niciunul dintre operatorii de comparație.
  • O îmbinare exterioară nu necesită fiecare înregistrare din cele două tabele de îmbinare pentru a avea o înregistrare potrivită.
  • Îmbinarea exterioară este împărțită în trei subtipuri: 1) Îmbinarea exterioară stângă 2) Îmbinarea exterioară dreaptă 3) Îmbinarea exterioară completă
  • Unirea exterioară din stânga returnează toate rândurile din tabelul din stânga, chiar dacă nu au fost găsite rânduri potrivite în tabelul din dreapta.
  • Unirea exterioară DREAPTA returnează toate coloanele din tabelul din dreapta, chiar dacă nu au fost găsite rânduri potrivite în tabelul din stânga.
  • Într-o îmbinare exterioară completă, toate tuplurile din ambele relații sunt incluse în rezultat, indiferent de condiția de potrivire.