Relatsioonalgebra DBMS-is: toimingud näidetega

Lang L: none (table-of-contents):

Anonim

Suhete algebra

RELATIONAL ALGEBRA on laialt kasutatav protseduuriline päringukeel. See kogub suhete eksemplare sisendina ja annab suhete esinemisi väljundina. Selle toimingu tegemiseks kasutatakse erinevaid toiminguid. SQL Relatsioonalgebra päringu toimingud sooritatakse relatsioonile rekursiivselt. Nende toimingute väljund on uus seos, mis võib olla moodustatud ühest või mitmest sisendsuhtest.

Selles õpetuses saate teada:

  • Suhete algebra
  • VALI (σ)
  • Projektsioon (π)
  • Nimeta ümber (ρ)
  • Liidu operatsioon (υ)
  • Määra erinevus (-)
  • Ristmik
  • Dekarteesia toode (X)
  • Operatsioonidega liitumine
  • Sisemine liitumine:
  • Theta Liitu:
  • EQUI liitumine:
  • LOODUSLIK LIITUMINE (⋈)
  • VÄLIS LIITUMINE
  • Vasakpoolne välimine liitumine (A B)
  • Parem välimine liitumine: (A B)
  • Täielik välimine liitumine: (A B)

Põhilised SQL-relatsioonalgebra toimingud

Relatsioonalgebra jagunes erinevates rühmades

Unary Relational Operations

  • SELECT (sümbol: σ)
  • PROJEKT (sümbol: π)
  • RENAME (sümbol: ρ)

Relatsioonalgebra operatsioonid kogumiteooriast

  • LIIT (υ)
  • Ristmik (),
  • VAHE (-)
  • KARTESIA TOODE (x)

Binaarsed suhtelised operatsioonid

  • LIITU
  • JAGAMINE

Uurime neid üksikasjalikult koos lahendustega:

VALI (σ)

Toimingut SELECT kasutatakse rühmade alamhulga valimiseks vastavalt antud valikutingimusele. Sigma (σ) sümbol tähistab seda. Seda kasutatakse väljendina valikutingimustele vastavate rühmade valimisel. Vali operaator valib rühmad, mis vastavad antud predikaadile.

σp(r) σon predikaat rtähistab suhet, mis on tabeli nimi peessõna loogika

Näide 1

σ topic = "Database" (Tutorials)

Väljund - valib õpetuste hulgad, kus teema = 'Andmebaas'.

Näide 2

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

Väljund - valib õpetuste hulgad, kus teemaks on 'Andmebaas' ja 'autor' on guru99.

Näide 3

σ sales > 50000 (Customers)

Väljund - valib klientide hulgad, kui müük on suurem kui 50000

Projektsioon (π)

Projektsioon välistab kõik sisendsuhte atribuudid, välja arvatud need, mis on mainitud projektsioonide loendis. Projektsioonimeetod määratleb seose, mis sisaldab seose vertikaalset alamhulka.

See aitab eraldada määratud atribuutide väärtused, et välistada duplikaatide väärtused. (pi) sümbolit kasutatakse relatsioonist atribuutide valimiseks. See operaator aitab teil hoida relatsioonist konkreetseid veerge ja loobub teistest veergudest.

Näide projektsioonist:

Mõelge järgmisele tabelile

Kliendi ID Kliendi nimi Staatus
1 Google Aktiivne
2 Amazon Aktiivne
3 Apple Mitteaktiivne
4 Alibaba Aktiivne

Siin annab kliendinime ja staatuse projektsioon

Π CustomerName, Status (Customers)
Kliendi nimi Staatus
Google Aktiivne
Amazon Aktiivne
Apple Mitteaktiivne
Alibaba Aktiivne

Nimeta ümber (ρ)

Nimeta ümber on unaarne toiming, mida kasutatakse suhte atribuutide ümbernimetamiseks.

ρ (a / b) R nimetab relatsiooni atribuudi „b” ümber nimega „a”.

Liidu operatsioon (υ)

LIIT sümboliseerib sümbol ∪. See hõlmab kõiki tabelites A või B. olevaid rühmi. See välistab ka duplikaadid. Niisiis, komplekt A LIIDU komplekt B väljendataks järgmiselt:

Tulemus <- A ∪ B

Ametiühingutoimingu kehtimiseks peavad olema täidetud järgmised tingimused -

  • R ja S peavad olema sama arv atribuute.
  • Atribuutide domeenid peavad olema ühilduvad.
  • Duplikaadid tuleks automaatselt eemaldada.

Näide

Mõelge järgmistele tabelitele.

Tabel A. Tabel B
1. veerg 2. veerg 1. veerg 2. veerg
1 1 1 1
1 2 1 3

A ∪ B annab

Tabel A ∪ B
1. veerg 2. veerg
1 1
1 2
1 3

Määra erinevus (-)

- Sümbol tähistab seda. A - B tulemus on seos, mis hõlmab kõiki rühmi, mis asuvad A-s, kuid mitte B-s.

  • A atribuudi nimi peab vastama B-s oleva atribuudi nimele.
  • Kaheoperandi suhted A ja B peaksid olema kas ühilduvad või liiduga ühilduvad.
  • See peaks olema määratletud suhe, mis koosneb rühmadest, mis on suhtes A, kuid mitte B-s.

Näide

A-B
Tabel A - B
1. veerg 2. veerg
1 2

Ristmik

Ristmik on määratletud sümboliga ∩

A ∩ B

Määratleb seose, mis koosneb kõigi nii A-s kui ka B-s olevate kahest komplektist. Kuid A ja B peavad olema ühinemisega ühilduvad.

Ristmiku visuaalne määratlus

Näide:

A ∩ B
Tabel A ∩ B
1. veerg 2. veerg
1 1

Descartesian Product (X) DBMS-is

Descartesian Product DBMS on toiming, mida kasutatakse kahest suhtest tulpade ühendamiseks. Üldiselt pole karteesia toode kunagi sisukas toiming, kui seda tehakse üksi. Kuid see muutub tähendusrikkaks, kui sellele järgnevad muud toimingud. Seda nimetatakse ka risttooteks või ristliitmiseks.

Näide - ristkülikukujuline toode

σ veerg 2 = '1' (AXB)

Väljund - ülaltoodud näide näitab kõiki seoseid A ja B sisaldavaid ridu, mille veerus 2 on väärtus 1

σ veerg 2 = '1' (AXB)
1. veerg 2. veerg
1 1
1 1

Operatsioonidega liitumine

Liitumisoperatsioon on sisuliselt ristkülikukujuline toode, millele järgneb valikukriteerium.

Liitumisoperatsioon, mida tähistatakse ⋈-ga.

JOIN-operatsioon võimaldab ühendada ka erinevatest suhetest pärinevaid erinevaid rühmi.

LIITUMISE tüübid:

Liitumisoperatsiooni erinevad vormid on:

Sisemised liitumised:

  • Theta liituda
  • EQUI liituvad
  • Loomulik liitumine

Väline liitumine:

  • Vasakpoolne välimine liitumine
  • Õige välimine liitumine
  • Täielik väline liitumine

Sisemine liitumine:

Sisemise liitumise korral kaasatakse ainult need paarid, mis vastavad vastavuskriteeriumidele, ülejäänud aga välistatakse. Uurime erinevaid sisemisi ühendusi:

Theta Liitu:

JOIN-operatsiooni üldist juhtumit nimetatakse Theta-ühenduseks. Seda tähistatakse sümboliga θ

Näide

A ⋈θ B

Teeta liitumisel saab valikukriteeriumides kasutada mis tahes tingimusi.

Näiteks:

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

EQUI liitumine:

Kui teetaühendus kasutab ainult ekvivalentsustingimust, saab sellest ekviühendus.

Näiteks:

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

EQUI liitumine on SQL-i kasutamine RDBMS-is kõige raskem tõhusalt rakendatav ja üks põhjus, miks RDBMS-il on olulisi jõudlusprobleeme.

LOODUSLIK LIITUMINE (⋈)

Loomulikku liitmist saab teostada ainult siis, kui seoste vahel on ühine atribuut (veerg). Atribuudi nimi ja tüüp peavad olema ühesugused.

Näide

Mõelge järgmisele kahele tabelile

C
Num Ruut
2 4
3 9
D
Num Kuup
2 8
3 27
C ⋈ D
C ⋈ D
Num Ruut Kuup
2 4 4
3 9 27

VÄLIS LIITUMINE

Välises ühenduses kaasame koos sobituskriteeriumidele vastavate rühmadega ka mõned või kõik kriteeriumidele mittevastavad rühmad.

Vasakpoolne välimine liitumine (A B)

Vasakpoolses välimises ühenduses võimaldab operatsioon hoida kogu dupleksi vasakus suhtes. Kui aga parempoolses seos pole ühtegi sobivat dupleksi, täidetakse liitmistulemuses parempoolse suhte atribuudid nullväärtustega.

Mõelge järgmisele 2 tabelile

A
Num Ruut
2 4
3 9
4 16
B
Num Kuup
2 8
3 18
5 75
A  B
A ⋈ B
Num Ruut Kuup
2 4 4
3 9 9
4 16 -

Parem välimine liitumine: (A B)

Paremas välimises ühenduses võimaldab toimimine hoida kogu dupletti õiges suhtes. Kui aga vasakpoolsest relatsioonist pole ühtegi sobivat dupletti, täidetakse liitumistulemuses vasaku suhte atribuudid nullväärtustega.

A  B
A ⋈ B
Num Kuup Ruut
2 8 4
3 18 9
5 75 -

Täielik välimine liitumine: (A B)

Täieliku välimise ühendamise korral kaasatakse tulemusse kõik mõlema suhte hulgad, sõltumata sobitamise tingimusest.

A  B
A ⋈ B
Num Kuup Ruut
2 4 8
3 9 18
4 16 -
5 - 75

Kokkuvõte

Kasutamine (sümbolid)

Eesmärk

Valige (σ)

Toimingut SELECT kasutatakse rühmade alamhulga valimiseks vastavalt antud valikutingimusele

Projektsioon (π)

Projektsioon välistab kõik sisendsuhte atribuudid, välja arvatud need, mis on mainitud projektsioonide loendis.

Liidu operatsioon (∪)

LIIT sümboliseerib sümbol. See hõlmab kõiki tabelites A või B.

Määra erinevus (-)

- Sümbol tähistab seda. A - B tulemus on seos, mis hõlmab kõiki rühmi, mis asuvad A-s, kuid mitte B-s.

Ristmik (∩)

Ristmik määrab seose, mis koosneb kõigi nii A kui ka B sisalduvate kahekordsete rühmade hulgast.

Dekarteesia toode (X)

Dekarteesia operatsioon on kasulik veergude ühendamiseks kahest suhtest.

Sisemine liitumine

Sisemine liitumine hõlmab ainult neid komplekte, mis vastavad vastavuskriteeriumidele.

Teeta liitumine (θ)

JOIN-operatsiooni üldist juhtumit nimetatakse Theta-ühenduseks. Seda tähistatakse sümboliga θ.

EQUI Liitu

Kui teetaühendus kasutab ainult ekvivalentsustingimust, saab sellest ekviühendus.

Loomulik liitumine (⋈)

Loomulikku liitmist saab teostada ainult siis, kui seoste vahel on ühine atribuut (veerg).

Väline liitumine

Välises ühenduses koos sobituskriteeriumidele vastavate komplektidega.

Vasakpoolne välimine liitumine ( )

Vasakpoolses välimises ühenduses võimaldab operatsioon hoida kogu dupleksi vasakus suhtes.

Parem välimine liitumine ( )

Paremas välimises ühenduses võimaldab toimimine hoida kogu dupletti õiges suhtes.

Täielik välimine liitumine ( )

Täieliku välimise liitmise korral kaasatakse tulemusse kõik mõlema suhte hulgad, sõltumata sobitamise tingimusest.