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 | 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 |
---|---|
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.
sarake 1 | sarake 2 | sarake 1 | sarake 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B antaa
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
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.
Esimerkiksi:
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 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)
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)
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
Sisään | Neliö |
---|---|
2 | 4 |
3 | 9 |
Sisään | Kuutio |
---|---|
2 | 8 |
3 | 27 |
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.
Harkitse seuraavia 2 taulukkoa
Sisään | Neliö |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
Sisään | Kuutio |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
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.
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 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() | Vasemman ulomman liitoksen operaatio mahdollistaa kaikkien monikon pitämisen vasemmassa suhteessa. |
Oikea ulkoliitos() | Oikeassa ulkoliitoksessa toiminta mahdollistaa kaikkien monikon pitämisen oikeassa suhteessa. |
Täysi ulkoliitos() | Täydellisessä ulkoliitoksessa kaikki monikot molemmista suhteista sisällytetään tulokseen sovitusehdosta riippumatta. |