Relacijska algebra u DBMS-u: Operacije s primjerima
Relacijska algebra
RELACIJSKA ALGEBRA široko je korišten proceduralni upitni jezik. Prikuplja instance relacija kao ulaz i daje pojavljivanja relacija kao izlaz. Za izvođenje ove radnje koristi različite operacije. Operacije upita SQL relacijske algebre izvode se rekurzivno na relaciji. Izlaz ovih operacija je nova relacija, koja se može oblikovati iz jedne ili više ulaznih relacija.
Osnovna SQL relacijska algebra Operama
Relacijska algebra podijeljena u različite skupine
Unarni relacijski Operama
- SELECT (simbol: σ)
- PROJEKT (simbol: π)
- PREIMENOVANJE (simbol: ρ)
Relacijska algebra Operacije iz teorije skupova
- UNIJA (υ)
- RASKRIŠĆE ( ),
- RAZLIKA (-)
- KARTEZIJSKI PROIZVOD ( x )
Binarna relacija Operama
- PRIDRUŽITE
- PODJELA
Proučimo ih detaljno s rješenjima:
ODABIR (σ)
Operacija SELECT koristi se za odabir podskupa torki prema danom uvjetu odabira. Sigma(σ) simbol to označava. Koristi se kao izraz za odabir torki koje zadovoljavaju uvjet odabira. Select operator odabire torke koje zadovoljavaju zadani predikat.
σp(r)
σ
je predikat
r
označava relaciju koja je naziv tablice
p
je prijedložna logika
Primjer 1
σ topic = "Database" (Tutorials)
Izlaz – Odabire torke iz vodiča gdje je tema = 'Baza podataka'.
Primjer 2
σ topic = "Database" and author = "guru99"( Tutorials)
Izlaz – Odabire torke iz Tutoriala gdje je tema 'Baza podataka', a 'autor' guru99.
Primjer 3
σ sales > 50000 (Customers)
Izlaz – Odabire torke od kupaca kod kojih je prodaja veća od 50000 XNUMX
Projekcija (π)
Projekcija eliminira sve atribute ulazne relacije osim onih navedenih u popisu projekcija. Metoda projekcije definira relaciju koja sadrži vertikalni podskup Relacije.
To pomaže izdvojiti vrijednosti navedenih atributa kako bi se uklonile duple vrijednosti. (pi) simbol se koristi za odabir atributa iz relacije. Ovaj vam operator pomaže zadržati određene stupce iz relacije i odbacuje druge stupce.
Primjer projekcije:
Razmotrite sljedeću tablicu
ID kupca | Ime kupca | Status |
---|---|---|
1 | Aktivan | |
2 | Amazon | Aktivan |
3 | jabuka | neaktivan |
4 | Alibi | Aktivan |
Ovdje će biti prikazana projekcija CustomerName i statusa
Π CustomerName, Status (Customers)
Ime kupca | Status |
---|---|
Aktivan | |
Amazon | Aktivan |
jabuka | neaktivan |
Alibi | Aktivan |
Preimenuj (ρ)
Preimenovanje je unarna operacija koja se koristi za preimenovanje atributa relacije.
ρ (a/b)R će preimenovati atribut 'b' relacije u 'a'.
rad sindikata (υ)
UNIJA je simbolizirana simbolom ∪. Uključuje sve torke koje se nalaze u tablicama A ili B. Također eliminira duplicirane torke. Dakle, skup A UNION skup B bi se izrazio kao:
Rezultat <- A ∪ B
Da bi operacija unije bila valjana, moraju biti ispunjeni sljedeći uvjeti –
- R i S moraju imati isti broj atributa.
- Domene atributa moraju biti kompatibilne.
- Duplikati torki trebali bi se automatski ukloniti.
Primjer
Razmotrite sljedeće tablice.
stupac 1 | stupac 2 | stupac 1 | stupac 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B daje
stupac 1 | stupac 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Postavi razliku (-)
– Simbol to označava. Rezultat A – B je relacija koja uključuje sve torke koje su u A, ali ne i u B.
- Naziv atributa A mora odgovarati nazivu atributa B.
- Odnosi dvaju operanda A i B trebali bi biti ili kompatibilni ili usklađeni s Unijom.
- Treba definirati relaciju koja se sastoji od torki koje su u relaciji A, ali ne i u B.
Primjer
A-B
stupac 1 | stupac 2 |
---|---|
1 | 2 |
Raskrižje
Sjecište je definirano simbolom ∩
A ∩ B
Definira relaciju koja se sastoji od skupa svih torki koje su i u A i B. Međutim, A i B moraju biti kompatibilni s unijom.
Primjer:
A ∩ B
stupac 1 | stupac 2 |
---|---|
1 | 1 |
Kartezijanski produkt(X) u DBMS-u
Kartezijanski produkt u DBMS-u je operacija koja se koristi za spajanje stupaca iz dvije relacije. Općenito, kartezijanski umnožak nikad nije smislena operacija ako se izvodi sam. Međutim, ono postaje smisleno kada ga prate druge operacije. Također se naziva Cross Product ili Cross Join.
Primjer – Kartezijev produkt
σ stupac 2 = '1' (AXB)
Izlaz – Gornji primjer prikazuje sve retke iz relacije A i B čiji stupac 2 ima vrijednost 1
stupac 1 | stupac 2 |
---|---|
1 | 1 |
1 | 1 |
Pridružiti Operama
Operacija spajanja je u biti kartezijanski produkt praćen kriterijem odabira.
Operacija spajanja označena sa ⋈.
Operacija JOIN također omogućuje spajanje različito povezanih torki iz različitih relacija.
Vrste JOIN-a:
Različiti oblici operacije spajanja su:
Unutarnji spojevi:
- Theta spoj
- Pridružite se EQUI
- Prirodno spajanje
Vanjski spoj:
- Lijevi vanjski spoj
- Desni vanjski spoj
- Potpuno vanjsko pridruživanje
Unutarnje pridruživanje
U unutarnjem spajanju uključene su samo one torke koje zadovoljavaju kriterije podudaranja, dok su ostale isključene. Proučimo razne vrste unutarnjih spojeva:
Theta Pridružite se
Opći slučaj operacije JOIN naziva se Theta spajanje. Označava se simbolom θ
Primjer
A ⋈θ B
Theta pridruživanje može koristiti bilo koje uvjete u kriterijima odabira.
Na primjer:
A ⋈ A.column 2 > B.column 2 (B)
stupac 1 | stupac 2 |
---|---|
1 | 2 |
Pridružite se EQUI
Kada theta spajanje koristi samo uvjet ekvivalencije, ono postaje jednakopravno spajanje.
Na primjer:
A ⋈ A.column 2 = B.column 2 (B)
stupac 1 | stupac 2 |
---|---|
1 | 1 |
EQUI pridruživanje najteža je operacija za učinkovitu implementaciju pomoću SQL-a u RDBMS-u i jedan je razlog zašto RDBMS imaju suštinske probleme s performansama.
PRIRODNI SPOJ (⋈)
Prirodno spajanje može se izvesti samo ako postoji zajednički atribut (stupac) između relacija. Naziv i tip atributa moraju biti isti.
Primjer
Razmotrite sljedeće dvije tablice
U | Trg |
---|---|
2 | 4 |
3 | 9 |
U | Kocka |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
U | Trg | Kocka |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
VANJSKO PRIDRUŽITE
U vanjsko spajanje, zajedno s torkama koje zadovoljavaju kriterije podudaranja, također uključujemo neke ili sve torke koje ne odgovaraju kriterijima.
Lijevi vanjski spoj (A ⟕ B)
U lijevom vanjskom spajanju, operacija omogućuje zadržavanje svih torki u lijevoj relaciji. Međutim, ako u pravoj relaciji nije pronađena podudarna torka, tada se atributi desne relacije u rezultatu spajanja popunjavaju nultim vrijednostima.
Razmotrite sljedeće 2 tablice
U | Trg |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
U | Kocka |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
U | Trg | Kocka |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Desni vanjski spoj (A ⟖ B)
U desnom vanjskom spajanju, operacija omogućuje zadržavanje svih torki u pravom odnosu. Međutim, ako u lijevoj relaciji nije pronađena podudarna torka, tada se atributi lijeve relacije u rezultatu spajanja popunjavaju nultim vrijednostima.
AB
U | Kocka | Trg |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Potpuni vanjski spoj (A ⟗ B)
U potpunom vanjskom spajanju, sve torke iz obje relacije uključene su u rezultat, bez obzira na uvjet podudaranja.
AB
U | Kocka | Trg |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
rezime
Operacija (Simboli) | Svrha |
---|---|
Odaberite (σ) | Operacija SELECT koristi se za odabir podskupa torki prema danom uvjetu odabira |
Projekcija (π) | Projekcija eliminira sve atribute ulazne relacije osim onih navedenih u popisu projekcija. |
Unija Operacija (∪) | UNIJA je simbolizirana simbolom. Uključuje sve torke koje se nalaze u tablicama A ili B. |
Postavi razliku (-) | – Simbol to označava. Rezultat A – B je relacija koja uključuje sve torke koje su u A, ali ne i u B. |
Raskrižje (∩) | Intersekcija definira relaciju koja se sastoji od skupa svih torki koje su i u A i B. |
Kartezijanski produkt(X) | Kartezijanska operacija je korisna za spajanje stupaca iz dvije relacije. |
Unutarnje pridruživanje | Unutarnje spajanje uključuje samo one torke koje zadovoljavaju kriterije podudaranja. |
Theta spoj (θ) | Opći slučaj operacije JOIN naziva se Theta spajanje. Označava se simbolom θ. |
EQUI Pridružite se | Kada theta spajanje koristi samo uvjet ekvivalencije, ono postaje jednakopravno spajanje. |
Prirodni spoj (⋈) | Prirodno spajanje može se izvesti samo ako postoji zajednički atribut (stupac) između relacija. |
Vanjsko pridruživanje | U vanjskom spajanju, zajedno s torkama koje zadovoljavaju kriterije podudaranja. |
Lijevi vanjski spoj ( |
U lijevom vanjskom spajanju, operacija omogućuje zadržavanje svih torki u lijevoj relaciji. |
Desni vanjski spoj ( |
U desnom vanjskom spajanju, operacija omogućuje zadržavanje svih torki u pravom odnosu. |
Potpuni vanjski spoj ( |
U potpunom vanjskom spajanju, sve torke iz obje relacije uključene su u rezultat bez obzira na uvjet podudaranja. |