DBVS prisijungia: vidinis, kairysis išorinis, THETA sujungimo operacijų tipai

Kas yra prisijungimas prie DBVS?

Prisijungimas prie DBVS yra dvejetainė operacija, leidžianti sujungti produktą ir pasirinkimą viename sakinyje. Prisijungimo sąlygos kūrimo tikslas yra tai, kad ji padės jums sujungti duomenis iš dviejų ar daugiau DBVS lentelių. DBVS lentelės yra susietos naudojant pirminį ir užsienio raktus.

Šioje DBVS pamokoje sužinosite:

  • Prisijungimo tipai
  • Vidinis prisijungimas
    • Theta Prisijunk
    • EQUI prisijungti:
    • Natūralus prisijungimas (⋈)
  • Išorinis prisijungimas
    • Kairysis išorinis sujungimas (A B)
    • Dešinė išorinė jungtis (A B)
    • Visiškas išorinis sujungimas (A B)

Prisijungimo tipai

DBVS daugiausia yra dviejų tipų sujungimai:

  1. Vidiniai sujungimai: teta, natūrali, EQUI
  2. Išorinė jungtis: kairė, dešinė, pilna

Pažiūrėkime juos išsamiai:

Vidinis prisijungimas

INNER JOIN naudojamas grąžinti abiejų lentelių eilutes, kurios atitinka nurodytą sąlygą. Tai yra plačiausiai naudojama prisijungimo operacija ir gali būti laikoma numatytuoju sujungimo tipu

Vidinis sujungimas arba „equijoin“ yra lyginamasis sujungimas, kurio jungties predikate naudojami lygybės palyginimai. Tačiau jei naudojate kitus palyginimo operatorius, pvz., „>“, Jo negalima pavadinti „equijoin“.

„Inner Join“ dar suskirstytas į tris potipius:

  • Teta prisijungia
  • Natūralus prisijungimas
  • EQUI prisijungti

Theta Prisijunk

THETA JOIN leidžia sujungti dvi lenteles pagal teta nurodytą sąlygą. Theta prisijungia prie visų palyginimo operatorių darbo. Tai žymima simboliu θ . Bendras JOIN operacijos atvejis vadinamas „Theta“ prisijungimu.

Sintaksė:

A ⋈θ B

„Theta“ prisijungimas gali naudoti bet kokias pasirinkimo kriterijus.

Apsvarstykite šias lenteles.

A lentelė B lentelė
1 stulpelis 2 stulpelis 1 stulpelis 2 stulpelis
1 1 1 1
1 2 1 3

Pavyzdžiui:

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

EQUI prisijungti

EQUI JOIN atliekamas tada, kai „Theta“ prisijungimas naudoja tik ekvivalentiškumo sąlygą. EQUI prisijungimas yra sunkiausia operacija, efektyviai įgyvendinama RDBMS, ir viena iš priežasčių, kodėl RDBMS turi esminių našumo problemų.

Pavyzdžiui:

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

Natūralus prisijungimas (⋈)

„NATURAL JOIN“ nenaudoja nė vieno palyginimo operatoriaus. Šio tipo prisijungimo atveju atributai turėtų būti to paties pavadinimo ir domeno. Programoje „Natūralus prisijungimas“ tarp dviejų santykių turėtų būti bent vienas bendras atributas.

Jis atlieka atranką formuodamas lygybę tiems atributams, kurie atsiranda abiejuose santykiuose, ir pašalina dublikatus.

Pavyzdys:

Apsvarstykite šias dvi lenteles

C
Skaičius Aikštė
2 4
3 9
D
Skaičius kubas
2 8
3 18
C ⋈ D
C ⋈ D
Skaičius Aikštė kubas
2 4 8
3 9 18

Išorinis prisijungimas

IŠORINĖS PRISIJUNK nereikalauja kiekvieną įrašą dviejų prisijungti lenteles turėti atitikimo rekordą. Šio tipo sujungimo atveju lentelė išsaugo kiekvieną įrašą, net jei nėra kito atitinkančio įrašo.

Trys išorinių sujungimų tipai:

  • Kairysis išorinis prisijungimas
  • Dešinysis išorinis prisijungimas
  • Visiškas išorinis prisijungimas

Kairysis išorinis sujungimas (A B)

LEFT JOIN grąžina visas kairės lentelės eilutes, net jei dešinėje esančioje lentelėje nerasta atitinkančių eilučių. Kai dešinėje esančioje lentelėje nerandama atitinkamo įrašo, grąžinama NULL.

Apsvarstykite šias 2 lenteles

A
Skaičius Aikštė
2 4
3 9
4 16
B
Skaičius kubas
2 8
3 18
5 75
A  B
A ⋈ B
Skaičius Aikštė kubas
2 4 8
3 9 18
4 16 -

Dešinė išorinė jungtis (A B)

RIGHT JOIN grąžina visus stulpelius iš dešinėje esančios lentelės, net jei kairėje esančioje lentelėje nerasta atitinkančių eilučių. Jei kairėje esančioje lentelėje atitikmenų nerasta, grąžinama NULL. Dešinysis išorinis PRISIJUNGIMAS yra priešingas KAIRĖJI PRISIJUNGIMAS

Tarkime, kad mūsų pavyzdyje reikia gauti narių nuomojamus vardus ir filmus. Dabar turime naują narį, kuris dar neišnuomojo jokio filmo.

A  B
A ⋈ B
Skaičius kubas Aikštė
2 8 4
3 18 9
5 75 -

Visiškas išorinis sujungimas (A B)

A PILNAS IŠORINĖS PRISIJUNK , visi Kortežai iš abiejų santykių yra įtraukti į rezultatą, nepriklausomai nuo atitikimo būklę.

Pavyzdys:

A  B
A ⋈ B
Skaičius Aikštė kubas
2 4 8
3 9 18
4 16 -
5 - 75

Santrauka:

  • DBVS daugiausia yra dviejų tipų sujungimai: 1) vidinis sujungimas 2) išorinis sujungimas
  • Vidinis sujungimas yra plačiai naudojama sujungimo operacija ir gali būti laikoma numatytuoju sujungimo tipu.
  • Vidinis sujungimas dar skirstomas į tris potipius: 1) Teta jungtis 2) Natūrali jungtis 3) EQUI jungtis
  • „Theta Join“ leidžia sujungti dvi lenteles pagal teta pateiktą sąlygą
  • Kai teta jungtis naudoja tik ekvivalentiškumo sąlygą, ji tampa lygia jungtimi.
  • Natūraliame sujungime nenaudojami jokie palyginimo operatoriai.
  • Išoriniam sujungimui nereikia, kad kiekvienas įrašas iš dviejų sujungimo lentelių turėtų atitikimo įrašą.
  • Išorinis sujungimas dar skirstomas į tris potipius: 1) kairysis išorinis sujungimas 2) dešinysis išorinis sujungimas 3) visiškai išorinis sujungimas
  • Kairysis išorinis prisijungimas grąžina visas eilutes iš kairėje esančios lentelės, net jei dešinėje esančioje lentelėje nerasta atitinkančių eilučių.
  • RIGHT Outer Join grąžina visus stulpelius iš dešinėje esančios lentelės, net jei kairėje esančioje lentelėje nerasta atitinkančių eilučių.
  • Visiškai išoriškai sujungiant, visi abiejų santykių elementai įtraukiami į rezultatą, neatsižvelgiant į atitikimo sąlygą.

Įdomios straipsniai...