Reliacinė algebra DBVS: operacijos su pavyzdžiais

Santykinė algebra

RELATIONAL ALGEBRA yra plačiai naudojama procedūrinių užklausų kalba. Jis renka santykių, kaip įvesties, atvejus ir pateikia santykių, kaip išvesties, atvejus. Šiam veiksmui atlikti ji naudoja įvairias operacijas. SQL reliacinės algebros užklausos operacijos atliekamos rekursiškai santykyje. Šių operacijų rezultatas yra naujas santykis, kuris gali būti sudarytas iš vieno ar daugiau įvesties santykių.

Šioje pamokoje sužinosite:

  • Santykinė algebra
  • PASIRINKTI (σ)
  • Projekcija (π)
  • Pervardyti (ρ)
  • Sąjungos operacija (υ)
  • Nustatyti skirtumą (-)
  • Sankryža
  • Dekarto produktas (X)
  • Prisijungti prie operacijų
  • Vidinis prisijungimas:
  • Theta prisijungti:
  • 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 prisijungimas: (A B)

Pagrindinės SQL reliacinės algebros operacijos

Reliacinė algebra skirstėsi į įvairias grupes

„Unary Relational Operations“

  • SELECT (simbolis: σ)
  • PROJEKTAS (simbolis: π)
  • Pervardyti (simbolis: ρ)

Reliacinės algebros operacijos iš nustatytos teorijos

  • SĄJUNGA (υ)
  • SĄSAJA (),
  • SKIRTUMAS (-)
  • CARTESIAN PRODUKTAS (x)

Dvejetainės reliacinės operacijos

  • PRISIJUNGTI
  • Padalijimas

Panagrinėkime juos išsamiai su sprendimais:

PASIRINKTI (σ)

SELECT operacija naudojama rinkinių pogrupiui pasirinkti pagal tam tikrą pasirinkimo sąlygą. „Sigma“ (σ) simbolis tai žymi. Jis naudojamas kaip išraiška pasirinkti rinkinius, kurie atitinka atrankos sąlygas. Pasirinkti operatorių pasirenkami rinkiniai, kurie atitinka nurodytą predikatą.

σp(r) σyra predikatas rreiškia santykį, kurio lentelės pavadinimas pyra priešdėlinė logika

1 pavyzdys

σ topic = "Database" (Tutorials)

Rezultatas - pasirenkami rinkiniai iš vadovėlių, kur tema = „Duomenų bazė“.

2 pavyzdys

σ topic = "Database" and author = "guru99"( Tutorials)

Rezultatas - pasirenkami rinkiniai iš vadovėlių, kur tema yra „Duomenų bazė“, o „autorius“ yra „guru99“.

3 pavyzdys

σ sales > 50000 (Customers)

Rezultatas - parenka klientų grupes, kurių pardavimas yra didesnis nei 50000

Projekcija (π)

Projekcija pašalina visus įvesties santykio atributus, išskyrus tuos, kurie minimi projekcijų sąraše. Projektavimo metodas apibrėžia santykį, kuriame yra vertikalusis santykio pogrupis.

Tai padeda išgauti nurodytų atributų vertes, kad būtų pašalintos pasikartojančios vertės. (pi) simbolis naudojamas atributams pasirinkti iš santykio. Šis operatorius padeda jums išlaikyti konkrečius santykio stulpelius ir atmeta kitus stulpelius.

Projekcijos pavyzdys:

Apsvarstykite šią lentelę

Kliento ID Kliento vardas Statusas
1 „Google“ Aktyvus
2 „Amazon“ Aktyvus
3 „Apple“ Neaktyvus
4 Alibaba Aktyvus

Čia bus pateikta „CustomerName“ ir būsenos projekcija

Π CustomerName, Status (Customers)
Kliento vardas Statusas
„Google“ Aktyvus
„Amazon“ Aktyvus
„Apple“ Neaktyvus
Alibaba Aktyvus

Pervardyti (ρ)

Pervardyti yra unari operacija, naudojama pervardyti santykio atributus.

ρ (a / b) R santykio atributą „b“ pervadins „a“.

Sąjungos operacija (υ)

SĄJUNGĄ simbolizuoja simbolis ∪. Tai apima visas rinkinius, esančius A arba B lentelėse. Taip pat pašalinami pasikartojantys rinkiniai. Taigi, rinkinys A SĄJUNGOS rinkinys B būtų išreikštas taip:

Rezultatas <- A ∪ B

Kad sąjungos veikla būtų galiojanti, turi būti laikomasi šių sąlygų:

  • R ir S turi būti vienodi atributų skaičiai.
  • Atributų domenai turi būti suderinami.
  • Pasikartojantys rinkiniai turėtų būti automatiškai pašalinti.

Pavyzdys

Apsvarstykite šias lenteles.

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

A ∪ B duoda

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

Nustatyti skirtumą (-)

- Simbolis tai žymi. A - B rezultatas yra ryšys, apimantis visus A, bet ne B rinkinius.

  • A atributo pavadinimas turi sutapti su B atributo pavadinimu.
  • Dviejų operandų santykiai A ir B turėtų būti suderinami arba suderinami su Sąjunga.
  • Tai turėtų būti apibrėžtas ryšys, susidedantis iš aibių, esančių santykyje A, bet ne B.

Pavyzdys

A-B
A - B lentelės
1 stulpelis 2 stulpelis
1 2

Sankryža

Sankryžą apibrėžia simbolis ∩

A ∩ B

Apibrėžia ryšį, susidedantį iš visų A ir B grupių. Tačiau A ir B turi būti suderinami su sąjunga.

Vizualinis sankirtos apibrėžimas

Pavyzdys:

A ∩ B
A lentelė ∩ B
1 stulpelis 2 stulpelis
1 1

Dekarto produktas (X) DBVS

Dekarto produktas DBVS yra operacija, naudojama stulpeliams sujungti iš dviejų santykių. Paprastai kartezinis produktas niekada nėra prasminga operacija, kai jis atliekamas atskirai. Tačiau jis tampa prasmingas, kai po jo atliekamos kitos operacijos. Jis taip pat vadinamas kryžminiu produktu arba kryžminiu sujungimu.

Pavyzdys - Dekarto produktas

σ 2 stulpelis = '1' (AXB)

Rezultatas - aukščiau pateiktame pavyzdyje rodomos visos reliacijos A ir B eilutės, kurių 2 stulpelis turi 1 vertę

σ 2 stulpelis = '1' (AXB)
1 stulpelis 2 stulpelis
1 1
1 1

Prisijungti prie operacijų

Sujungimo operacija iš esmės yra derinamasis produktas, po kurio seka pasirinkimo kriterijus.

Prisijungimo operacija, žymima ⋈.

JOIN operacija taip pat leidžia sujungti įvairius ryšius iš skirtingų santykių.

JUNGTI tipai:

Įvairios prisijungimo operacijos formos yra:

Vidiniai sujungimai:

  • Teta prisijungia
  • EQUI prisijungti
  • Natūralus prisijungimas

Išorinis prisijungimas:

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

Vidinis prisijungimas:

Į vidinį sujungimą įtraukiami tik tie rinkiniai, kurie atitinka atitikimo kriterijus, o kiti neįtraukiami. Panagrinėkime įvairius vidinių sujungimų tipus:

Theta prisijungti:

Bendras JOIN operacijos atvejis vadinamas „Theta“ prisijungimu. Tai žymima simboliu θ

Pavyzdys

A ⋈θ B

„Theta“ prisijungimas gali naudoti bet kokias pasirinkimo kriterijus.

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:

Kai teta jungtis naudoja tik ekvivalentiškumo sąlygą, ji tampa lygia jungtimi.

Pavyzdžiui:

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

EQUI prisijungimas yra sunkiausia efektyviai įgyvendinti operacijas naudojant SQL RDBMS ir viena iš priežasčių, kodėl RDBMS turi esminių našumo problemų.

NATŪRALUS PRISIJUNGIMAS (⋈)

Natūralus sujungimas gali būti atliekamas tik tuo atveju, jei tarp santykių yra bendras atributas (stulpelis). Atributo pavadinimas ir tipas turi būti vienodi.

Pavyzdys

Apsvarstykite šias dvi lenteles

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

IŠORINIS PRISIJUNGIMAS

Išoriniame sujungime kartu su atitikimo kriterijus atitinkančiais rinkiniais taip pat įtraukiame keletą ar visus kriterijus neatitinkančius rinkinius.

Kairysis išorinis sujungimas (A B)

Kairiajame išoriniame sujungime operacija leidžia išlaikyti visą kairįjį ryšį. Tačiau, jei tinkamame santykyje nėra tinkamo poros, tada sujungimo rezultate dešiniojo santykio atributai užpildomi nulinėmis reikšmėmis.

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 4
3 9 9
4 16 -

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

Dešiniajame išoriniame sujungime operacija leidžia išlaikyti visą paketą teisingame santykyje. Tačiau, jei kairiajame santykyje nėra atitinkančio „duplekso“, kairio ryšio atributai prisijungimo rezultate užpildomi nulinėmis reikšmėmis.

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

Visiškas išorinis prisijungimas: (A B)

Visiškai išoriškai sujungiant, visi abiejų santykių elementai įtraukiami į rezultatą, neatsižvelgiant į atitikimo sąlygą.

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

Santrauka

Veikimas (simboliai)

Tikslas

Pasirinkite (σ)

SELECT operacija naudojama rinkinių pogrupiui pasirinkti pagal tam tikrą pasirinkimo sąlygą

Projekcija (π)

Projekcija pašalina visus įvesties santykio atributus, išskyrus tuos, kurie minimi projekcijų sąraše.

Sąjungos operacija (∪)

SĄJUNGĄ simbolizuoja simbolis. Jame yra visi A arba B lentelėse esantys rinkiniai.

Nustatyti skirtumą (-)

- Simbolis tai žymi. A - B rezultatas yra ryšys, apimantis visus A, bet ne B rinkinius.

Sankryža (∩)

Sankirta apibrėžia ryšį, susidedantį iš visų A ir B grupių.

Dekarto produktas (X)

Dekarto operacija yra naudinga sujungiant dviejų santykių stulpelius.

Vidinis prisijungimas

Vidinis sujungimas apima tik tuos elementus, kurie atitinka atitikimo kriterijus.

Teta prisijungti (θ)

Bendras JOIN operacijos atvejis vadinamas „Theta“ prisijungimu. Tai žymima simboliu θ.

EQUI prisijungti

Kai teta jungtis naudoja tik ekvivalentiškumo sąlygą, ji tampa lygia jungtimi.

Natūralus prisijungimas (⋈)

Natūralus sujungimas gali būti atliekamas tik tuo atveju, jei tarp santykių yra bendras atributas (stulpelis).

Išorinis prisijungimas

Išoriniame sujungime kartu su poromis, kurios atitinka atitikimo kriterijus.

Kairysis išorinis sujungimas ( )

Kairiajame išoriniame sujungime operacija leidžia išlaikyti visą kairįjį ryšį.

Dešinė išorinė jungtis ( )

Dešiniajame išoriniame sujungime operacija leidžia išlaikyti visą paketą teisingame santykyje.

Visiškas išorinis prisijungimas ( )

Visiškai išoriškai sujungiant, visi abiejų santykių rinkiniai įtraukiami į rezultatą, neatsižvelgiant į atitikimo sąlygą.

Įdomios straipsniai...