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 r
tähistab suhet, mis on tabeli nimi p
eessõ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 | Aktiivne | |
2 | Amazon | Aktiivne |
3 | Apple | Mitteaktiivne |
4 | Alibaba | Aktiivne |
Siin annab kliendinime ja staatuse projektsioon
Π CustomerName, Status (Customers)
Kliendi nimi | Staatus |
---|---|
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.

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 |
AB
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.
AB
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.
AB
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. |