Relāciju algebra
RELATIONAL ALGEBRA ir plaši izmantota procesuālo vaicājumu valoda. Tas apkopo attiecību gadījumus kā ievadi un norāda attiecību gadījumus kā rezultātu. Lai veiktu šo darbību, tā izmanto dažādas darbības. SQL relāciju algebras vaicājuma darbības relācijai tiek veiktas rekursīvi. Šo darbību rezultāts ir jauna relācija, kuru var veidot no vienas vai vairākām ievades attiecībām.
Šajā apmācībā jūs uzzināsiet:
- Relāciju algebra
- SELECT (σ)
- Projekcija (π)
- Pārdēvēt (ρ)
- Savienības darbība (υ)
- Iestatīt atšķirību (-)
- Krustojums
- Dekarta produkts (X)
- Pievienoties operācijām
- Iekšējā pievienošanās:
- Theta pievienoties:
- EQUI pievienoties:
- DABĪGA PIEVIENOŠANĀS (⋈)
- ĀRĒJAIS PIEVIENOŠANĀS
- Kreisais ārējais savienojums (A
B)
- Labais ārējais savienojums: (A
B)
- Pilnīga ārējā pievienošanās: (A
B)
SQL relāciju algebras pamatdarbības
Relāciju algebra sadalījās dažādās grupās
Unary Relational Operations
- SELECT (simbols: σ)
- PROJEKTS (simbols: π)
- RENAME (simbols: ρ)
Relāciju algebras operācijas no noteiktas teorijas
- SAVIENĪBA (υ)
- SADARBĪBA (),
- ATŠĶIRĪBA (-)
- KARTĒZIJAS PRODUKTS (x)
Binārās operācijas
- PIEVIENOTIES
- DALĪŠANA
Izpētīsim tos detalizēti, izmantojot risinājumus:
SELECT (σ)
Operāciju SELECT izmanto, lai atlasītu kopu apakškopu atbilstoši noteiktam izvēles nosacījumam. Sigma (σ) simbols to apzīmē. To lieto kā izteiksmi, lai izvēlētos tos atlases nosacījumiem atbilstošus kopas. Atlasīt operatoru atlasa kopas, kas atbilst dotajam predikātam.
σp(r)
σ
ir predikāts r
apzīmē relāciju, kuras nosaukums ir tabulas p
priekšvārda loģika
1. piemērs
σ topic = "Database" (Tutorials)
Rezultāts - atlasa kopas no apmācībām, kur topic = 'Database'.
2. piemērs
σ topic = "Database" and author = "guru99"( Tutorials)
Rezultāts - atlasa kopas no apmācībām, kur tēma ir “Datu bāze” un “autors” ir guru99.
3. piemērs
σ sales > 50000 (Customers)
Rezultāts - atlasa klientus, kuru pārdošanas apjoms pārsniedz 50000
Projekcija (π)
Projekcija izslēdz visus ievades relācijas atribūtus, izņemot tos, kas minēti projekciju sarakstā. Projekcijas metode definē relāciju, kas satur Relāciju vertikālo apakškopu.
Tas palīdz iegūt noteikto atribūtu vērtības, lai novērstu dublētās vērtības. (pi) simbolu izmanto, lai izvēlētos atribūtus no relācijas. Šis operators palīdz jums saglabāt konkrētas kolonnas no relācijas un izmet pārējās kolonnas.
Projekcijas piemērs:
Apsveriet šo tabulu
CustomerID | Klienta vārds | Statuss |
---|---|---|
1 | Aktīvs | |
2 | Amazon | Aktīvs |
3 | Apple | Neaktīvs |
4 | Alibaba | Aktīvs |
Šeit tiks dota klienta vārda un statusa projekcija
Π CustomerName, Status (Customers)
Klienta vārds | Statuss |
---|---|
Aktīvs | |
Amazon | Aktīvs |
Apple | Neaktīvs |
Alibaba | Aktīvs |
Pārdēvēt (ρ)
Pārdēvēt ir unikāla darbība, ko izmanto attiecību atribūtu pārdēvēšanai.
ρ (a / b) R pārdēvēs relatīvā atribūtu “b” ar “a”.
Savienības darbība (υ)
SAVIENĪBU simbolizē simbols ∪. Tas ietver visus tabulas A vai B tabulas. Tas arī novērš dublikātu kopas. Tātad, kopa A SAVIENĪBAS kopa B tiktu izteikta šādi:
Rezultāts <- A ∪ B
Lai arodbiedrības darbība būtu derīga, ir jāievēro šādi nosacījumi:
- R un S jābūt vienādam atribūtu skaitam.
- Atribūtu domēniem jābūt saderīgiem.
- Dublikātu kopas ir automātiski jānoņem.
Piemērs
Apsveriet šīs tabulas.
A tabula | B tabula | |||
1. kolonna | 2. sleja | 1. kolonna | 2. sleja | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B dod
A tabula ∪ B | |
1. kolonna | 2. sleja |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Iestatīt atšķirību (-)
- Simbols to apzīmē. Rezultāts A - B ir sakarība, kas ietver visus kopas, kas atrodas A, bet ne B.
- A atribūta nosaukumam jāatbilst B atribūta nosaukumam.
- Divu operandu attiecībām A un B jābūt saderīgām vai savienojamām ar Savienību.
- Būtu jādefinē attiecība, kas sastāv no rindām, kas atrodas attiecībā A, bet ne B.
Piemērs
A-B
A - B tabula | |
1. kolonna | 2. sleja |
---|---|
1 | 2 |
Krustojums
Krustojumu definē simbols ∩
A ∩ B
Definē relāciju, kas sastāv no visu kopu kopas, kas atrodas gan A, gan B. Tomēr A un B jābūt saderīgām ar savienojumu.

Piemērs:
A ∩ B
A tabula ∩ B | |
1. kolonna | 2. sleja |
---|---|
1 | 1 |
Dekarta produkts (X) DBVS
Dekarta produkts DBVS ir operācija, ko izmanto, lai sapludinātu kolonnas no divām attiecībām. Parasti Dekarta produkts nekad nav jēgpilna darbība, ja to veic atsevišķi. Tomēr tas kļūst jēgpilns, ja tam seko citas darbības. To sauc arī par Cross Product vai Cross Join.
Piemērs - Dekarta produkts
σ 2. sleja = '1' (AXB)
Izeja - iepriekš minētajā piemērā ir parādītas visas relāciju A un B rindas, kuru 2. slejā ir vērtība 1
σ 2. sleja = '1' (AXB) | |
1. kolonna | 2. sleja |
---|---|
1 | 1 |
1 | 1 |
Pievienoties operācijām
Savienošanas darbība būtībā ir Dekarta produkts, kam seko atlases kritērijs.
Pievienošanās darbība, kas apzīmēta ar ⋈.
JOIN operācija ļauj arī savienot dažādus sakarus, kas saistīti ar dažādām attiecībām.
Pievienošanās veidi:
Dažādas pievienošanās darbības formas ir:
Iekšējie savienojumi:
- Teta pievienojas
- EQUI pievienoties
- Dabiski pievienoties
Ārējā pievienošanās:
- Kreisais ārējais savienojums
- Labais ārējais savienojums
- Pilnīga ārējā pievienošanās
Iekšējā pievienošanās:
Iekšējā savienojumā tiek iekļauti tikai tie komplekti, kas atbilst atbilstības kritērijiem, bet pārējie tiek izslēgti. Izpētīsim dažādus iekšējo savienojumu veidus:
Theta pievienoties:
JOIN operācijas vispārīgo gadījumu sauc par Theta savienojumu. To apzīmē ar simbolu θ
Piemērs
A ⋈θ B
Theta pievienošanās var izmantot jebkurus nosacījumus atlases kritērijos.
Piemēram:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.2. Kolonna> B.2. Kolonna (B) | |
1. kolonna | 2. sleja |
---|---|
1 | 2 |
EQUI pievienoties:
Kad teta savienojums izmanto tikai ekvivalences nosacījumu, tas kļūst par ekvi savienojumu.
Piemēram:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. 2. sleja = B. 2. sleja (B) | |
1. kolonna | 2. sleja |
---|---|
1 | 1 |
EQUI pievienošanās ir visgrūtāk efektīvi īstenojamās operācijas, izmantojot SQL RDBMS, un viens no iemesliem, kāpēc RDBMS ir būtiskas veiktspējas problēmas.
DABĪGA PIEVIENOŠANĀS (⋈)
Dabisko savienošanu var veikt tikai tad, ja starp attiecībām ir kopīgs atribūts (kolonna). Atribūta nosaukumam un tipam jābūt vienādam.
Piemērs
Apsveriet šādas divas tabulas
C | |
Num | Kvadrāts |
---|---|
2 | 4 |
3 | 9 |
D | |
Num | Kubs |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
C ⋈ D | ||
Num | Kvadrāts | Kubs |
---|---|---|
2 | 4 | 4 |
3 | 9 | 27 |
ĀRĒJAIS PIEVIENOŠANĀS
Ārējā savienojumā kopā ar parametriem, kas atbilst atbilstības kritērijiem, mēs iekļaujam arī dažus vai visus tos, kas neatbilst kritērijiem.
Kreisais ārējais savienojums (A
B)
Kreisajā ārējā savienojumā darbība ļauj turēt visus dubultos kreisajā relācijā. Tomēr, ja pareizajā attiecībā nav atrasts atbilstošs kopa, tad savienojuma rezultāta labās attiecības atribūti tiek aizpildīti ar nulles vērtībām.
Apsveriet šādas 2 tabulas
A | |
Num | Kvadrāts |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Kubs |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Num | Kvadrāts | Kubs |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Labais ārējais savienojums: (A
B)
Labajā ārējā savienojumā darbība ļauj turēt visus dubultus pareizajās attiecībās. Tomēr, ja kreisajā relācijā nav atrodams atbilstošs kopa, tad kreisās relācijas atribūti savienojuma rezultātā tiek aizpildīti ar nulles vērtībām.
AB
A ⋈ B | ||
Num | Kubs | Kvadrāts |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Pilnīga ārējā pievienošanās: (A
B)
Pilnīgā ārējā savienojumā rezultātā tiek iekļauti visi abu attiecību kopas neatkarīgi no atbilstības nosacījuma.
AB
A ⋈ B | ||
Num | Kubs | Kvadrāts |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Kopsavilkums
Darbība (simboli) |
Mērķis |
---|---|
Atlasīt (σ) |
Operāciju SELECT izmanto, lai atlasītu kopu apakškopu atbilstoši noteiktam izvēles nosacījumam |
Projekcija (π) |
Projekcija izslēdz visus ievades relācijas atribūtus, izņemot tos, kas minēti projekciju sarakstā. |
Savienības operācija (∪) |
SAVIENĪBA ir simbolizēta ar simbolu. Tajā ietilpst visi tabulas A vai B tabulas. |
Iestatīt atšķirību (-) |
- Simbols to apzīmē. Rezultāts A - B ir sakarība, kas ietver visus kopas, kas atrodas A, bet ne B. |
Krustojums (∩) |
Krustojums definē relāciju, kas sastāv no visu kopu kopas, kas atrodas gan A, gan B. |
Dekarta produkts (X) |
Dekarta darbība ir noderīga, lai sapludinātu kolonnas no divām attiecībām. |
Iekšējā pievienošanās |
Iekšējā pievienošana ietver tikai tos vienumus, kas atbilst atbilstības kritērijiem. |
Teta pievienošanās (θ) |
JOIN operācijas vispārīgo gadījumu sauc par Theta savienojumu. To apzīmē ar simbolu θ. |
EQUI pievienojieties |
Kad teta savienojums izmanto tikai ekvivalences nosacījumu, tas kļūst par ekvi savienojumu. |
Dabīgs savienojums (⋈) |
Dabisko savienošanu var veikt tikai tad, ja starp attiecībām ir kopīgs atribūts (kolonna). |
Ārējā pievienošanās |
Ārējā savienojumā kopā ar vienībām, kas atbilst atbilstības kritērijiem. |
Kreisais ārējais savienojums ( |
Kreisajā ārējā savienojumā darbība ļauj turēt visus dubultos kreisajā relācijā. |
Labais ārējais savienojums ( |
Labajā ārējā savienojumā darbība ļauj turēt visus dubultus pareizajās attiecībās. |
Pilnīga ārējā pievienošanās ( |
Pilnīgā ārējā savienojumā visi abu attiecību sakari tiek iekļauti rezultātā neatkarīgi no atbilstības nosacījuma. |