Relaatioalgebra DBMS:ssä: Operaesimerkkejä

Suhteellinen algebra

SUHDEALGEBRA on laajalti käytetty proseduurikyselykieli. Se kerää relaatioesiintymiä syötteenä ja antaa relaatioesiintymät lähtönä. Se käyttää erilaisia ​​toimintoja tämän toiminnon suorittamiseen. SQL Relaatioalgebran kyselyoperaatiot suoritetaan rekursiivisesti relaatiolle. Näiden operaatioiden tulos on uusi relaatio, joka voidaan muodostaa yhdestä tai useammasta syöterelaatiosta.

Perus SQL-relaatioalgebra OperaTIONS

Relaatioalgebra jaettu eri ryhmiin

Unaarinen relaatio OperaTIONS

  • SELECT (symboli: σ)
  • PROJEKTI (symboli: π)
  • NIMI uudelleen (symboli: ρ)

Suhteellinen algebra OperaJoukkoteoriasta

  • UNIONI (υ)
  • RISTEYS ( ),
  • EROTUS (-)
  • KARTESIAALINEN TUOTE ( x )

Binäärinen relaatio OperaTIONS

  • LIITY
  • DIVISION

Tutkitaan niitä yksityiskohtaisesti ratkaisuilla:

VALITSE (σ)

SELECT-toimintoa käytetään monikoiden osajoukon valitsemiseen tietyn valintaehdon mukaisesti. Sigma(σ)-symboli tarkoittaa sitä. Sitä käytetään lausekkeena valitsemaan monikot, jotka täyttävät valintaehdon. Select-operaattori valitsee monikot, jotka täyttävät tietyn predikaatin.

σp(r)

σ on predikaatti

r tarkoittaa relaatiota, joka on taulukon nimi

p on prepositiologiikka

Esimerkki 1

σ topic = "Database" (Tutorials)

ulostulo – Valitsee Tutorialeista monikot, joissa aihe = 'tietokanta'.

Esimerkki 2

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

ulostulo – Valitsee tutoriaaleista monikot, joiden aiheena on 'tietokanta' ja 'tekijänä' guru99.

Esimerkki 3

σ sales > 50000 (Customers)

ulostulo – Valitsee tuples asiakkailta, joiden myynti on yli 50000 XNUMX

Projektio (π)

Projektio eliminoi kaikki syöttörelaation attribuutit paitsi projektioluettelossa mainitut. Projektiomenetelmä määrittelee suhteen, joka sisältää Relation vertikaalisen osajoukon.

Tämä auttaa poimimaan määritettyjen attribuuttien arvot ja poistamaan päällekkäiset arvot. (pi) -symbolia käytetään määritteiden valitsemiseen suhteesta. Tämä operaattori auttaa sinua pitämään tietyt sarakkeet suhteesta ja hylkää muut sarakkeet.

Esimerkki projektiosta:

Harkitse seuraavaa taulukkoa

Asiakas ID Asiakkaan nimi Tila
1 Google Aktiiviset
2 Amazon Aktiiviset
3 omena Epäaktiivinen
4 Alibaba Aktiiviset

Tässä näkyy asiakkaan nimi ja tila

Π CustomerName, Status (Customers)
Asiakkaan nimi Tila
Google Aktiiviset
Amazon Aktiiviset
omena Epäaktiivinen
Alibaba Aktiiviset

Nimeä uudelleen (ρ)

Rename on unaaritoiminto, jota käytetään relaatioiden määritteiden uudelleennimeämiseen.

ρ (a/b)R nimeää suhteen attribuutin 'b' uudelleen nimellä 'a'.

Unionin operaatio (υ)

UNIONIN symboli on ∪-symboli. Se sisältää kaikki monikot, jotka ovat taulukossa A tai B. Se myös eliminoi päällekkäiset monikot. Joten joukko A UNIONIN joukko B ilmaistaisiin seuraavasti:

Tulos <- A ∪ B

Jotta liiton toiminta olisi voimassa, seuraavien ehtojen on täytyttävä:

  • R:n ja S:n on oltava sama määrä määritteitä.
  • Attribuuttiverkkotunnusten on oltava yhteensopivia.
  • Kaksoiskappaleet tulee poistaa automaattisesti.

esimerkki

Harkitse seuraavia taulukoita.

Taulukko A
Taulukko B
sarake 1 sarake 2 sarake 1 sarake 2
1 1 1 1
1 2 1 3

A ∪ B antaa

Taulukko A ∪ B
sarake 1 sarake 2
1 1
1 2
1 3

Aseta ero (-)

– Symboli osoittaa sen. A – B tulos on relaatio, joka sisältää kaikki monikot, jotka ovat A:ssa, mutta eivät B:ssä.

  • A:n määritteen nimen on vastattava B:n määritteen nimeä.
  • Kahden operandin suhteiden A ja B tulisi olla joko yhteensopivia tai unionin yhteensopivia.
  • Se tulisi määritellä relaatiossa, joka koostuu monista, jotka ovat suhteessa A, mutta eivät B:ssä.

esimerkki

A-B
Taulukko A-B
sarake 1 sarake 2
1 2

Risteys

Leikkaus määritellään symbolilla ∩

A ∩ B

Määrittää suhteen, joka koostuu joukosta kaikkia monikoita, jotka ovat sekä A:ssa että B:ssä. A:n ja B:n on kuitenkin oltava liiton kanssa yhteensopivia.

Risteys
Leikkauksen visuaalinen määritelmä

Esimerkiksi:

A ∩ B
Taulukko A ∩ B
sarake 1 sarake 2
1 1

Karteesinen tuote(X) DBMS:ssä

Karteesinen tuote DBMS:ssä on operaatio, jota käytetään kahden suhteen sarakkeiden yhdistämiseen. Yleensä karteesinen tuote ei ole koskaan mielekäs operaatio, kun se suorittaa yksin. Siitä tulee kuitenkin mielekästä, kun sitä seuraa muita operaatioita. Sitä kutsutaan myös nimellä Cross Product tai Cross Join.

Esimerkki – karteesinen tuote

σ sarake 2 = '1' (AXB)

Tulos – Yllä oleva esimerkki näyttää kaikki relaatioiden A ja B rivit, joiden sarakkeen 2 arvo on 1

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

Liity OperaTIONS

Liitosoperaatio on pohjimmiltaan karteesinen tuote, jota seuraa valintakriteeri.

Liitostoiminto merkitty ⋈.

JOIN-toiminto mahdollistaa myös erilaisten suhteiden erilaisten monikoiden yhdistämisen.

LIITTYMIStyypit:

Erilaisia ​​liitostoiminnan muotoja ovat:

Sisäiset liitokset:

  • Theta liittyy
  • EQUI liittyä
  • Luonnollinen liitos

Ulkoinen liitos:

  • Vasen ulompi liittymä
  • Oikea ulompi liitos
  • Täysi ulkoinen liittyminen

Sisäinen liittyminen

Sisäliitoksessa vain ne monikot, jotka täyttävät yhteensopivuuskriteerit, sisällytetään, kun taas loput jätetään pois. Tutkitaan erilaisia ​​sisäisiä liitoksia:

Theta Liity

JOIN-operaation yleistä tapausta kutsutaan Theta-liitokseksi. Se on merkitty symbolilla θ

esimerkki

A ⋈θ B

Theta join voi käyttää mitä tahansa ehtoja valintakriteereissä.

Esimerkiksi:

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

EQUI liittyä

Kun theta-liitos käyttää vain ekvivalenssiehtoa, siitä tulee equi-liitos.

Esimerkiksi:

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

EQUI-join on vaikein operaatio toteuttaa tehokkaasti käyttämällä SQL:ää RDBMS:ssä ja yksi syy miksi RDBMS on olennaisia ​​suorituskykyongelmia.

LUONNOLLINEN LIITTYMINEN (⋈)

Luonnollinen liitos voidaan suorittaa vain, jos suhteiden välillä on yhteinen attribuutti (sarake). Attribuutin nimen ja tyypin on oltava sama.

esimerkki

Harkitse seuraavia kahta taulukkoa

C
Sisään Neliö
2 4
3 9
D
Sisään Kuutio
2 8
3 27
C ⋈ D
C⋈D
Sisään Neliö Kuutio
2 4 8
3 9 27

ULKOINEN LIITTYMINEN

Ulompiin liitoksiin sisällytetään yhteensopivuuskriteerit täyttävien monikoiden lisäksi myös jotkin tai kaikki monikot, jotka eivät täytä ehtoja.

Vasen ulkoliitos (A⟕B)

Vasemman ulomman liitoksen operaatio mahdollistaa kaikkien monikon pitämisen vasemmassa suhteessa. Jos oikeasta suhteesta ei kuitenkaan löydy vastaavaa monikkoa, oikean suhteen attribuutit täytetään liitostuloksessa nolla-arvoilla.

Vasen ulompi liittymä

Harkitse seuraavia 2 taulukkoa

A
Sisään Neliö
2 4
3 9
4 16
B
Sisään Kuutio
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
Sisään Neliö Kuutio
2 4 8
3 9 18
4 16 -

Oikea ulkoliitos ( A ⟖ B )

Oikeassa ulkoliitoksessa toiminta mahdollistaa kaikkien monikon pitämisen oikeassa suhteessa. Jos vasempaan relaatioon ei kuitenkaan löydy vastaavaa monikkoa, liitostuloksen vasemman suhteen attribuutit täytetään nolla-arvoilla.

Oikea ulompi liitos

A Right Outer Join B
A ⋈ B
Sisään Kuutio Neliö
2 8 4
3 18 9
5 75 -

Täysi ulkoliitos (A ⟗ B)

Täydellisessä ulkoliitoksessa tulokseen sisällytetään kaikki monikot molemmista suhteista riippumatta sovitusehdosta.

A Full Outer Join B
A ⋈ B
Sisään Kuutio Neliö
2 4 8
3 9 18
4 16 -
5 - 75

Yhteenveto

Operation (symbolit) Tarkoitus
Valitse (σ) SELECT-toimintoa käytetään monikoiden osajoukon valitsemiseen tietyn valintaehdon mukaisesti
Projektio (π) Projektio eliminoi kaikki syöttörelaation attribuutit paitsi projektioluettelossa mainitut.
Liitto Operation(∪) UNIONIA symboloi symboli. Se sisältää kaikki monikot, jotka ovat taulukossa A tai B.
Aseta ero (-) – Symboli osoittaa sen. A – B tulos on relaatio, joka sisältää kaikki monikot, jotka ovat A:ssa, mutta eivät B:ssä.
Risteys (∩) Leikkaus määrittelee suhteen, joka koostuu kaikista monista, jotka ovat sekä A:ssa että B:ssä.
karteesinen tuote (X) Karteesinen operaatio auttaa yhdistämään sarakkeita kahdesta suhteesta.
Sisäinen liittyminen Sisäliitos sisältää vain ne monikot, jotka täyttävät täsmäysehdot.
Theta Join (θ) JOIN-operaation yleistä tapausta kutsutaan Theta-liitokseksi. Sitä merkitään symbolilla θ.
EQUI Liity Kun theta-liitos käyttää vain ekvivalenssiehtoa, siitä tulee equi-liitos.
Luonnollinen liittyminen (⋈) Luonnollinen liitos voidaan suorittaa vain, jos suhteiden välillä on yhteinen attribuutti (sarake).
Ulkopuolinen liittyminen Uloimmassa liitoksessa sekä monikot, jotka täyttävät yhteensopivuuskriteerit.
Vasen ulkoliitos(Vasen ulompi liittymä) Vasemman ulomman liitoksen operaatio mahdollistaa kaikkien monikon pitämisen vasemmassa suhteessa.
Oikea ulkoliitos(Oikea ulkoliitos) Oikeassa ulkoliitoksessa toiminta mahdollistaa kaikkien monikon pitämisen oikeassa suhteessa.
Täysi ulkoliitos(Täysi ulkoinen liittyminen) Täydellisessä ulkoliitoksessa kaikki monikot molemmista suhteista sisällytetään tulokseen sovitusehdosta riippumatta.