Suhteellinen algebra
RELATIONAL ALGEBRA on laajalti käytetty menettelykyselykieli. Se kerää suhteiden esiintymiä syötteenä ja antaa suhteiden esiintymät tuotoksena. Se käyttää erilaisia toimintoja tämän toiminnon suorittamiseen. SQL Relational -algebra-kyselyoperaatiot suoritetaan relatiivisesti suhteelle. Näiden operaatioiden tulos on uusi suhde, joka voi muodostua yhdestä tai useammasta syötesuhteesta.
Tässä opetusohjelmassa opit:
- Suhteellinen algebra
- VALITSE (σ)
- Projektio (π)
- Nimeä uudelleen (ρ)
- Unionin toiminta (υ)
- Aseta ero (-)
- Risteys
- Karteesinen tuote (X)
- Liity operaatioihin
- Sisäinen liittyminen:
- Theta Liity:
- EQUI-jäsen:
- LUONNOLLINEN LIITTYMINEN (⋈)
- ULKOINEN LIITTYMINEN
- Vasen ulompi liitos (A
B)
- Oikea ulompi liitos: (A
B)
- Täysi ulkoinen liitos: (A
B)
SQL-relaatioalgebran perustoiminnot
Suhteellinen algebra jakautui eri ryhmiin
Unary Relational Operations
- SELECT (symboli: σ)
- PROJEKTI (symboli: π)
- RENAME (symboli: ρ)
Relaatioalgebran operaatiot asetetusta teoriasta
- UNION (υ)
- RISTEYS ( ),
- ERO (-)
- KARTESIAN TUOTE (x)
Binaariset relaatiotoiminnot
- LIITTYÄ SEURAAN
- JAKELU
Tutkitaan niitä yksityiskohtaisesti ratkaisuilla:
VALITSE (σ)
SELECT-operaatiota käytetään joukon osajoukon valitsemiseen tietyn valintaolosuhteen mukaan. Sigma (σ) -symboli tarkoittaa sitä. Sitä käytetään lausekkeena valitsemaan joukko, joka täyttää valintaedellytykset. Valitse operaattori valitsee joukot, jotka täyttävät tietyn predikaatin.
σp(r)
σ
on predikaatti r
tarkoittaa suhdetta, joka on taulukon nimi p
prepositio-logiikkaa
Esimerkki 1
σ topic = "Database" (Tutorials)
Tulos - Valitsee joukot oppaista, joissa aihe = 'Tietokanta'.
Esimerkki 2
σ topic = "Database" and author = "guru99"( Tutorials)
Tulos - Valitsee opetusohjelmien joukot, joissa aihe on 'Tietokanta' ja 'Kirjoittaja' on guru99.
Esimerkki 3
σ sales > 50000 (Customers)
Tuotos - Valitsee joukot asiakkailta, joiden myynti on yli 50000
Projektio (π)
Projektio eliminoi kaikki syötesuhteen attribuutit, paitsi ne, jotka mainitaan projektioluettelossa. Projisointimenetelmä määrittelee suhteen, joka sisältää pystysuoran osajoukon suhteesta.
Tämä auttaa poimimaan määritettyjen määritteiden arvot päällekkäisten arvojen poistamiseksi. (pi) -symbolia käytetään attribuuttien valitsemiseen suhteesta. Tämä operaattori auttaa pitämään tietyt sarakkeet suhteessa ja hylkää muut sarakkeet.
Esimerkki projektiosta:
Harkitse seuraavaa taulukkoa
Asiakas ID | Asiakkaan nimi | Tila |
---|---|---|
1 | Aktiivinen | |
2 | Amazon | Aktiivinen |
3 | Omena | Epäaktiivinen |
4 | Alibaba | Aktiivinen |
Tässä asiakasnimen ja tilan projektio antaa
Π CustomerName, Status (Customers)
Asiakkaan nimi | Tila |
---|---|
Aktiivinen | |
Amazon | Aktiivinen |
Omena | Epäaktiivinen |
Alibaba | Aktiivinen |
Nimeä uudelleen (ρ)
Nimeä uudelleen on unaarinen operaatio, jota käytetään relaation attribuuttien uudelleennimeämiseen.
ρ (a / b) R nimeää relaation attribuutin 'b' uudelleen nimellä 'a'.
Unionin toiminta (υ)
UNIONia symboloi symboli ∪. Se sisältää kaikki taulukoissa A tai B olevat joukot. Se poistaa myös päällekkäiset joukot. Joten sarja A UNION joukko B ilmaistaan seuraavasti:
Tulos <- A ∪ B
Jotta liittotoiminta olisi pätevä, seuraavien ehtojen on täytyttävä -
- R: n ja S: n on oltava sama määrä määritteitä.
- Attribuuttialueiden on oltava yhteensopivia.
- Päällekkäiset sarjat tulisi 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 tarkoittaa sitä. A - B: n tulos on suhde, joka sisältää kaikki joukot, jotka ovat A: ssa mutta eivät B: ssä.
- A: n attribuutin nimen on vastattava B: n attribuutin nimeä.
- Kahden operandin suhteiden A ja B tulee olla joko yhteensopivia tai unionin yhteensopivia.
- Sen tulisi olla määritelty suhde, joka koostuu suhteista A, mutta ei B: stä.
Esimerkki
A-B
Taulukot A - B | |
sarake 1 | sarake 2 |
---|---|
1 | 2 |
Risteys
Risteys määritellään symbolilla ∩
A ∩ B
Määrittää suhteen, joka koostuu joukosta kaikki sekvenssit, jotka ovat sekä A: ssa että B: ssä. A: n ja B: n on kuitenkin oltava liiton kanssa yhteensopivia.

Esimerkki:
A ∩ B
Taulukko A ∩ B | |
sarake 1 | sarake 2 |
---|---|
1 | 1 |
Karteesinen tuote (X) DBMS: ssä
DB2: n suorakulmainen tuote on operaatio, jota käytetään yhdistämään sarakkeet kahdesta suhteesta. Yleensä karteesinen tuote ei ole koskaan merkityksellinen toimenpide, kun se suoritetaan yksin. Siitä tulee kuitenkin merkityksellinen, kun sitä seuraavat muut toiminnot. Sitä kutsutaan myös ristituotteeksi tai ristiliitokseksi.
Esimerkki - Karteesinen tuote
σ sarake 2 = '1' (AXB)
Tulos - Yllä oleva esimerkki näyttää kaikki suhteiden A ja B rivit, joiden sarakkeella 2 on arvo 1
σ sarake 2 = '1' (AXB) | |
sarake 1 | sarake 2 |
---|---|
1 | 1 |
1 | 1 |
Liity operaatioihin
Liityoperaatio on pohjimmiltaan karteesinen tuote, jota seuraa valintaperuste.
Liity operaatio, jota merkitään ⋈.
JOIN-toiminto mahdollistaa myös erilaisten sukulaisuuksien yhdistämisen eri suhteista.
JOIN-tyypit:
Liitostoiminnan eri muotoja ovat:
Sisäiset liitokset:
- Theta liittyy
- EQUI liittyy
- Luonnollinen liitos
Ulkopuolinen liitos:
- Vasen ulompi liittymä
- Oikea ulompi liitos
- Täysi ulkoinen liittyminen
Sisäinen liittyminen:
Sisempään liitokseen sisällytetään vain ne joukot, jotka täyttävät vastaavuuskriteerit, kun taas loput suljetaan pois. Tutkitaan erilaisia sisäisiä liittymiä:
Theta Liity:
JOIN-operaation yleistä tapausta kutsutaan Theta-liittymäksi. Se on merkitty symbolilla θ
Esimerkki
A ⋈θ B
Theta-liittyminen voi käyttää mitä tahansa ehtoja valintaperusteissa.
Esimerkiksi:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. sarake 2> B. sarake 2 (B) | |
sarake 1 | sarake 2 |
---|---|
1 | 2 |
EQUI-jäsen:
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-liittymä on vaikein toteuttaa tehokkaasti SQL: ää käyttämällä RDBMS: ssä ja yksi syy siihen, miksi RDBMS: llä on olennaisia suorituskykyongelmia.
LUONNOLLINEN LIITTYMINEN (⋈)
Luonnollinen liitos voidaan suorittaa vain, jos relaatioiden välillä on yhteinen attribuutti (sarake). Määritteen nimen ja tyypin on oltava samat.
Esimerkki
Harkitse seuraavia kahta taulukkoa
C | |
Num | Neliö |
---|---|
2 | 4 |
3 | 9 |
D | |
Num | Kuutio |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
C ⋈ D | ||
Num | Neliö | Kuutio |
---|---|---|
2 | 4 | 4 |
3 | 9 | 27 |
ULKOINEN LIITTYMINEN
Ulkopuoliseen liitokseen, samoin kuin joukot, jotka täyttävät yhteensopivuuskriteerit, sisällytämme myös jotkut tai kaikki joukot, jotka eivät täytä kriteerejä.
Vasen ulompi liitos (A
B)
Vasemmassa ulommassa liitoksessa toiminta sallii kaiken sekaannuksen pitämisen vasemmassa suhteessa. Jos oikeassa suhteessa ei kuitenkaan ole yhtään vastaavaa dupleksiä, liittymistuloksen oikean suhteen attribuutit täytetään nolla-arvoilla.
Harkitse seuraavia 2 taulukkoa
A | |
Num | Neliö |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Kuutio |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Num | Neliö | Kuutio |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Oikea ulompi liitos: (A
B)
Oikeassa ulommassa liitoksessa toiminta sallii kaiken sekaannuksen pitämisen oikeassa suhteessa. Jos vasemmassa relaatiossa ei kuitenkaan ole vastaavaa duplettia, vasemman relaation attribuutit liitetuloksessa täytetään nolla-arvoilla.
AB
A ⋈ B | ||
Num | Kuutio | Neliö |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Täysi ulkoinen liitos: (A
B)
Täydellisessä ulommassa liitoksessa kaikki molempien suhteiden joukot sisällytetään tulokseen vastaavuusehdosta riippumatta.
AB
A ⋈ B | ||
Num | Kuutio | Neliö |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Yhteenveto
Käyttö (symbolit) |
Tarkoitus |
---|---|
Valitse (σ) |
SELECT-operaatiota käytetään joukon osajoukon valitsemiseen tietyn valintaolosuhteen mukaan |
Projektio (π) |
Projektio eliminoi kaikki syötesuhteen attribuutit, paitsi ne, jotka mainitaan projektioluettelossa. |
Unionioperaatio (∪) |
UNION symboloi symboli. Se sisältää kaikki taulukoiden A tai B taulukot. |
Aseta ero (-) |
- Symboli tarkoittaa sitä. A - B: n tulos on suhde, joka sisältää kaikki joukot, jotka ovat A: ssa mutta eivät B: ssä. |
Risteys (∩) |
Risteys määrittelee suhteen, joka koostuu joukosta kaikkia sekä A: ssa että B: ssä olevia duplekseja. |
Karteesinen tuote (X) |
Karteesinen operaatio on hyödyllistä yhdistää sarakkeet kahdesta suhteesta. |
Sisäinen liittyminen |
Sisäinen liitos, sisältää vain ne joukot, jotka täyttävät vastaavuuskriteerit. |
Theta Liity (θ) |
JOIN-operaation yleistä tapausta kutsutaan Theta-liittymäksi. Se on merkitty symbolilla θ. |
EQUI Liity |
Kun theta-liitos käyttää vain ekvivalenssiehtoa, siitä tulee equi-liitos. |
Luonnollinen liittyminen (⋈) |
Luonnollinen liitos voidaan suorittaa vain, jos relaatioiden välillä on yhteinen attribuutti (sarake). |
Ulkopuolinen liittyminen |
Ulommassa liitoksessa yhdessä joukkoineen, jotka täyttävät vastaavat kriteerit. |
Vasen ulompi liitos ( |
Vasemmassa ulommassa liitoksessa toiminta sallii kaiken sekaannuksen pitämisen vasemmassa suhteessa. |
Oikea ulompi liitos ( |
Oikeassa ulommassa liitoksessa toiminta sallii kaiken sekaannuksen pitämisen oikeassa suhteessa. |
Täysi ulkoinen liittyminen ( |
Täydellisessä ulommassa liitoksessa kaikki molempien suhteiden joukot sisällytetään tulokseen vastaavuusehdosta riippumatta. |