Relacijska algebra
RELACIONA ALGEBRA je široko korišten jezik proceduralnih upita. Prikuplja primjere relacija kao ulaz i daje pojave relacija kao izlaz. Za izvođenje ove radnje koristi se različitim operacijama. Operacije upita SQL relacijske algebre izvode se rekurzivno na relaciji. Rezultat ovih operacija nova je relacija koja se može oblikovati iz jedne ili više ulaznih relacija.
U ovom vodiču naučit ćete:
- Relacijska algebra
- ODABERI (σ)
- Projekcija (π)
- Preimenuj (ρ)
- Sindikalni rad (υ)
- Postavi razliku (-)
- Križanje
- Kartezijanski proizvod (X)
- Pridružite se operacijama
- Unutarnje pridruživanje:
- Theta Pridružite se:
- EQUI pridruživanje:
- PRIRODNI PRIDRUŽITI (⋈)
- VANJSKO PRIDRUŽITE
- Lijevi vanjski spoj (A
B)
- Desni vanjski spoj: (A
B)
- Potpuno vanjsko pridruživanje: (A
B)
Osnovne SQL relacijske algebre
Relacijska algebra podijeljena u različite skupine
Unarne relacijske operacije
- SELECT (simbol: σ)
- PROJEKT (simbol: π)
- PREIMENOVANJE (simbol: ρ)
Relacijske operacije algebre iz teorije skupova
- UNIJA (υ)
- INTERSECTION (),
- RAZLIKA (-)
- KARTESIJSKI PROIZVOD (x)
Binarne relacijske operacije
- PRIDRUŽITI
- PODJELA
Proučimo ih detaljno s rješenjima:
ODABERI (σ)
Operacija SELECT koristi se za odabir podskupine korpica prema zadanom uvjetu odabira. Sigma (σ) Simbol ga označava. Koristi se kao izraz za odabir korijena koji zadovoljavaju uvjet odabira. Operator Select odabire korpice koje zadovoljavaju zadani predikat.
σp(r)
σ
je predikat r
kratica za odnos koji je naziv tablice p
prijedloška logika
Primjer 1
σ topic = "Database" (Tutorials)
Izlaz - odabire korice iz Vodiča gdje je topic = 'Baza podataka'.
Primjer 2
σ topic = "Database" and author = "guru99"( Tutorials)
Izlaz - odabire korice iz vodiča u kojima je tema "Baza podataka", a "autor" guru99.
Primjer 3
σ sales > 50000 (Customers)
Izlaz - odabire korpice od kupaca kod kojih je prodaja veća od 50000
Projekcija (π)
Projekcija uklanja sve atribute ulazne relacije, osim onih koji su spomenuti na popisu projekcija. Metoda projekcije definira relaciju koja sadrži vertikalni podskup Relacije.
To pomaže pri izdvajanju vrijednosti navedenih atributa radi uklanjanja dvostrukih vrijednosti. (pi) simbol se koristi za odabir atributa iz relacije. Ovaj vam operater pomaže da određene stupce sprečite iz veze i odbaci ostale stupce.
Primjer projekcije:
Razmotrite sljedeću tablicu
CustomerID | Ime kupca | Status |
---|---|---|
1 | Aktivan | |
2 | Amazon | Aktivan |
3 | Jabuka | Neaktivan |
4 | Alibaba | Aktivan |
Ovdje će dati projekcija korisničkog imena i statusa
Π CustomerName, Status (Customers)
Ime kupca | Status |
---|---|
Aktivan | |
Amazon | Aktivan |
Jabuka | Neaktivan |
Alibaba | Aktivan |
Preimenuj (ρ)
Preimenovanje je unarna operacija koja se koristi za preimenovanje atributa relacije.
ρ (a / b) R će preimenovati atribut 'b' relacije u 'a'.
Sindikalni rad (υ)
UNIJU simbolizira simbol ∪. Obuhvaća sve korijene koji se nalaze u tablicama A ili B. Također uklanja i dvostruke korijene. Dakle, skup A UNION skup B izrazio bi se kao:
Rezultat <- A ∪ B
Da bi sindikalna operacija bila valjana, moraju biti ispunjeni sljedeći uvjeti -
- R i S moraju imati jednak broj atributa.
- Domene atributa moraju biti kompatibilne.
- Dvostruke korijene treba automatski ukloniti.
Primjer
Razmotrite sljedeće tablice.
Tablica A | Tablica B | |||
stupac 1 | stupac 2 | stupac 1 | stupac 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B daje
Tablica A ∪ B | |
stupac 1 | stupac 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Postavi razliku (-)
- Simbol ga označava. Rezultat A - B odnos je koji uključuje sve korijene koji se nalaze u A, ali ne i u B.
- Naziv atributa A mora se podudarati s imenom atributa u B.
- Odnosi s dva operanda A i B trebali bi biti kompatibilni ili kompatibilni s Unijom.
- Treba definirati odnos koji se sastoji od korijena koji su u relaciji A, ali ne i u B.
Primjer
A-B
Tablica A - B | |
stupac 1 | stupac 2 |
---|---|
1 | 2 |
Križanje
Sjecište je definirano simbolom ∩
A ∩ B
Definira relaciju koja se sastoji od skupa svih nabora koji se nalaze i u A i u B. Međutim, A i B moraju biti kompatibilni s unijom.
![](https://cdn.css-code.org/images/1/100518_0535_RelationalA4.png.webp)
Primjer:
A ∩ B
Tablica A ∩ B | |
stupac 1 | stupac 2 |
---|---|
1 | 1 |
Dekartov proizvod (X) u DBMS-u
Dekartov proizvod u DBMS- u operacija je koja se koristi za spajanje stupaca iz dva odnosa. Općenito, kartezijanski proizvod nikada nije značajna operacija kada se izvodi sam. Međutim, ono postaje smisleno kad ga slijede druge operacije. Također se naziva Cross Product ili Cross Join.
Primjer - kartezijanski proizvod
σ stupac 2 = '1' (AXB)
Izlaz - gornji primjer prikazuje sve retke iz relacije A i B čiji stupac 2 ima vrijednost 1
σ stupac 2 = '1' (AXB) | |
stupac 1 | stupac 2 |
---|---|
1 | 1 |
1 | 1 |
Pridružite se operacijama
Operacija spajanja u osnovi je kartezijanski proizvod nakon kojeg slijedi kriterij odabira.
Operacija spajanja označena s ⋈.
Operacija JOIN također omogućuje spajanje različito povezanih korpica iz različitih odnosa.
Vrste PRIDRUŽIVANJA:
Razni oblici operacije spajanja su:
Unutarnji priključci:
- Theta se pridruži
- EQUI pridruži se
- Prirodno pridruživanje
Vanjsko pridruživanje:
- Lijevo vanjsko pridruživanje
- Desno vanjsko pridruživanje
- Potpuno vanjsko pridruživanje
Unutarnje pridruživanje:
U unutarnji spoj uključeni su samo oni korijeni koji zadovoljavaju kriterije podudaranja, dok su ostali izuzeti. Proučimo razne vrste unutarnjih spajanja:
Theta Pridružite se:
Općeniti slučaj JOIN operacije naziva se Theta join. Označava se simbolom θ
Primjer
A ⋈θ B
Theta pridruživanje može koristiti bilo koje uvjete u kriterijima za odabir.
Na primjer:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. stupac 2> B. stupac 2 (B) | |
stupac 1 | stupac 2 |
---|---|
1 | 2 |
EQUI pridruživanje:
Kada theta spoj koristi samo uvjet ekvivalencije, on postaje equi join.
Na primjer:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. stupac 2 = B. stupac 2 (B) | |
stupac 1 | stupac 2 |
---|---|
1 | 1 |
EQUI pridruživanje je najteža operacija za učinkovitu implementaciju korištenjem SQL-a u RDBMS-u i jedan od razloga zašto RDBMS imaju bitne probleme s izvedbom.
PRIRODNI PRIDRUŽITI (⋈)
Prirodno spajanje može se izvršiti samo ako između relacija postoji zajednički atribut (stupac). Ime i tip atributa moraju biti isti.
Primjer
Razmotrite sljedeće dvije tablice
C | |
Num | Kvadrat |
---|---|
2 | 4 |
3 | 9 |
D | |
Num | Kocka |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
C ⋈ D | ||
Num | Kvadrat | Kocka |
---|---|---|
2 | 4 | 4 |
3 | 9 | 27 |
VANJSKO PRIDRUŽITE
U vanjsko spajanje, zajedno s korpicama koje zadovoljavaju kriterije podudaranja, uključujemo i neke ili sve korpice koje ne odgovaraju kriterijima.
Lijevi vanjski spoj (A
B)
U lijevom vanjskom spoju operacija omogućuje zadržavanje svih korpica u lijevom odnosu. Međutim, ako u odgovarajućoj relaciji nije pronađena odgovarajuća korpica, tada su atributi prave relacije u rezultatu pridruživanja ispunjeni null vrijednostima.
Razmotrite sljedeće 2 tablice
A | |
Num | Kvadrat |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Kocka |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Num | Kvadrat | Kocka |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Desni vanjski spoj: (A
B)
U desnom vanjskom spoju operacija omogućuje održavanje svih korpica u ispravnom odnosu. Međutim, ako u lijevoj relaciji nije pronađena odgovarajuća korpica, tada su atributi lijeve relacije u rezultatu pridruživanja ispunjeni null vrijednostima.
AB
A ⋈ B | ||
Num | Kocka | Kvadrat |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Potpuno vanjsko pridruživanje: (A
B)
U potpunom vanjskom spoju, svi nabori iz oba odnosa uključeni su u rezultat, bez obzira na podudarni uvjet.
AB
A ⋈ B | ||
Num | Kocka | Kvadrat |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Sažetak
Operacija (simboli) |
Svrha |
---|---|
Odaberite (σ) |
Operacija SELECT koristi se za odabir podskupine korpica prema zadanom uvjetu odabira |
Projekcija (π) |
Projekcija uklanja sve atribute ulazne relacije, osim onih koji su spomenuti na popisu projekcija. |
Sindikalna operacija (∪) |
UNIJA se simbolizira simbolom. Obuhvaća sve korijene koji se nalaze u tablicama A ili B. |
Postavi razliku (-) |
- Simbol ga označava. Rezultat A - B odnos je koji uključuje sve korijene koji se nalaze u A, ali ne i u B. |
Raskrižje (∩) |
Presijecanje definira odnos koji se sastoji od skupa svih nabora koji se nalaze i u A i u B. |
Kartezijanski proizvod (X) |
Kartezijanska operacija korisna je za spajanje stupaca iz dva odnosa. |
Unutarnje pridruživanje |
Unutarnje spajanje uključuje samo one korice koje zadovoljavaju kriterije podudaranja. |
Theta pridruživanje (θ) |
Općeniti slučaj JOIN operacije naziva se Theta join. Označava se simbolom θ. |
EQUI Pridružite se |
Kada theta spoj koristi samo uvjet ekvivalencije, on postaje equi join. |
Prirodno pridruživanje (⋈) |
Prirodno spajanje može se izvršiti samo ako između relacija postoji zajednički atribut (stupac). |
Vanjsko pridruživanje |
U vanjskom spoju, zajedno s korpicama koje zadovoljavaju kriterije podudaranja. |
Lijevo vanjsko pridruživanje ( |
U lijevom vanjskom spoju operacija omogućuje zadržavanje svih korpica u lijevom odnosu. |
Desno vanjsko pridruživanje ( |
U desnom vanjskom spoju operacija omogućuje održavanje svih korpica u ispravnom odnosu. |
Potpuno vanjsko pridruživanje ( |
U potpunom vanjskom spoju, svi nabori iz oba odnosa uključeni su u rezultat bez obzira na podudarni uvjet. |