Algebra relațională în DBMS: Operacțiuni cu Exemple
Algebra relațională
ALGEBRA RELAȚIONALĂ este un limbaj de interogare procedural utilizat pe scară largă. Colectează instanțe ale relațiilor ca intrare și oferă apariții ale relațiilor ca ieșire. Utilizează diverse operații pentru a efectua această acțiune. SQL Operațiile de interogare de algebră relațională sunt efectuate recursiv pe o relație. Ieșirea acestor operații este o nouă relație, care poate fi formată din una sau mai multe relații de intrare.
Algebră relațională SQL de bază Operații
Algebra relațională împărțită în diferite grupuri
Relațional unare Operații
- SELECT (simbol: σ)
- PROIECT (simbol: π)
- RENUMIRE (simbol: ρ)
Algebra relațională Operadin teoria multimilor
- UNIRE (υ)
- INTERSECȚIE ( ),
- DIFERENȚĂ (-)
- PRODUS CARTESIAN ( x )
Relațional binar Operații
- JOIN
- DIVISION
Să le studiem în detaliu cu soluții:
SELECTARE (σ)
Operația SELECT este utilizată pentru selectarea unui subset de tupluri conform unei anumite condiții de selecție. Simbolul Sigma(σ) îl denotă. Este folosit ca expresie pentru a alege tupluri care îndeplinesc condiția de selecție. Operatorul Select selectează tupluri care satisfac un predicat dat.
σp(r)
σ
este predicatul
r
reprezintă relația care este numele tabelului
p
este logica prepozitionala
Exemplu 1
σ topic = "Database" (Tutorials)
producție – Selectează tupluri din Tutoriale unde subiect = „Bază de date”.
Exemplu 2
σ topic = "Database" and author = "guru99"( Tutorials)
producție – Selectează tupluri din Tutoriale unde subiectul este „Bază de date” și „autor” este guru99.
Exemplu 3
σ sales > 50000 (Customers)
producție – Selectează tupluri din Clienți în care vânzările sunt mai mari de 50000
proiecție (π)
Proiecția elimină toate atributele relației de intrare, cu excepția celor menționate în lista de proiecție. Metoda proiecției definește o relație care conține un subset vertical de Relație.
Acest lucru ajută la extragerea valorilor atributelor specificate pentru a elimina valorile duplicate. Simbolul (pi) este folosit pentru a alege atribute dintr-o relație. Acest operator vă ajută să păstrați anumite coloane dintr-o relație și elimină celelalte coloane.
Exemplu de proiecție:
Luați în considerare următorul tabel
Număr de înregistrare client | Numele clientului | Stare |
---|---|---|
1 | Activ | |
2 | Amazon | Activ |
3 | Apple | Inactiv |
4 | Alibaba | Activ |
Aici, proiecția CustomerName și starea va da
Π CustomerName, Status (Customers)
Numele clientului | Stare |
---|---|
Activ | |
Amazon | Activ |
Apple | Inactiv |
Alibaba | Activ |
Redenumiți (ρ)
Redenumirea este o operație unară folosită pentru redenumirea atributelor unei relații.
ρ (a/b)R va redenumi atributul „b” al relației cu „a”.
Operațiunea uniunii (υ)
UNIREA este simbolizată prin simbolul ∪. Include toate tuplurile care se află în tabelele A sau în B. De asemenea, elimină tuplurile duplicate. Deci, setul A UNION setul B ar fi exprimat astfel:
Rezultatul <- A ∪ B
Pentru ca o operațiune sindicală să fie valabilă, trebuie să fie îndeplinite următoarele condiții:
- R și S trebuie să aibă același număr de atribute.
- Domeniile de atribute trebuie să fie compatibile.
- Tuplurile duplicate ar trebui eliminate automat.
Exemplu
Luați în considerare următoarele tabele.
coloana 1 | coloana 2 | coloana 1 | coloana 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B dă
coloana 1 | coloana 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Setați diferența (-)
– Simbolul o denotă. Rezultatul A – B este o relație care include toate tuplurile care sunt în A, dar nu în B.
- Numele atributului A trebuie să se potrivească cu numele atributului din B.
- Relațiile cu doi operanzi A și B ar trebui să fie fie compatibile, fie compatibile cu Uniune.
- Ar trebui definită o relație constând din tuplurile care sunt în relația A, dar nu și în B.
Exemplu
A-B
coloana 1 | coloana 2 |
---|---|
1 | 2 |
Intersecție
O intersecție este definită de simbolul ∩
A ∩ B
Definește o relație constând dintr-un set de toate tuplurile care sunt atât în A cât și în B. Cu toate acestea, A și B trebuie să fie compatibile cu uniunea.
Exemplu:
A ∩ B
coloana 1 | coloana 2 |
---|---|
1 | 1 |
Produs cartezian(X) în SGBD
Produsul cartezian în SGBD este o operație folosită pentru a îmbina coloanele din două relații. În general, un produs cartezian nu este niciodată o operație semnificativă atunci când funcționează singur. Cu toate acestea, devine semnificativă atunci când este urmată de alte operațiuni. Se mai numește și Cross Product sau Cross Join.
Exemplu – produs cartezian
σ coloana 2 = „1” (AXB)
Ieșire – Exemplul de mai sus arată toate rândurile din relația A și B a căror coloană 2 are valoarea 1
coloana 1 | coloana 2 |
---|---|
1 | 1 |
1 | 1 |
Alatura-te Operații
Operația de îmbinare este în esență un produs cartezian urmat de un criteriu de selecție.
Operație de îmbinare notat cu ⋈.
Operația JOIN permite, de asemenea, alăturarea unor tupluri diferite din relații diferite.
Tipuri de JOIN:
Diferite forme de operare de îmbinare sunt:
Imbinari interioare:
- Theta se alătură
- EQUI se alătură
- Unire naturală
Îmbinare exterioară:
- Stânga la exterior
- Alăturați-vă la dreapta
- Alăturare completă exterioară
Alăturare interioară
Într-o îmbinare interioară, sunt incluse doar acele tupluri care îndeplinesc criteriile de potrivire, în timp ce restul sunt excluse. Să studiem diferite tipuri de îmbinări interioare:
Theta Join
Cazul general al operațiunii JOIN se numește unire Theta. Este notat prin simbol θ
Exemplu
A ⋈θ B
Theta join poate folosi orice condiții din criteriile de selecție.
De exemplu:
A ⋈ A.column 2 > B.column 2 (B)
coloana 1 | coloana 2 |
---|---|
1 | 2 |
EQUI se alătură
Când o îmbinare theta folosește numai condiția de echivalență, devine o îmbinare echi.
De exemplu:
A ⋈ A.column 2 = B.column 2 (B)
coloana 1 | coloana 2 |
---|---|
1 | 1 |
EQUI join este cea mai dificilă operațiune de implementat eficient folosind SQL într-un RDBMS și un motiv pentru care RDBMS au probleme esențiale de performanță.
UNIRE NATURALĂ (⋈)
Unirea naturală poate fi efectuată numai dacă există un atribut comun (coloană) între relații. Numele și tipul atributului trebuie să fie aceleași.
Exemplu
Luați în considerare următoarele două tabele
În | Pătrat |
---|---|
2 | 4 |
3 | 9 |
În | Cub |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
În | Pătrat | Cub |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
ALĂTURAȚI-VĂ
Într-o îmbinare exterioară, împreună cu tuplurile care îndeplinesc criteriile de potrivire, includem și unele sau toate tuplurile care nu se potrivesc cu criteriile.
Îmbinare exterioară stângă (A ⟕ B)
În îmbinarea exterioară din stânga, operația permite păstrarea tuturor tuplului în relația din stânga. Cu toate acestea, dacă nu există nici un tuplu care se potrivește în relația corectă, atunci atributele relației corecte din rezultatul îmbinării sunt umplute cu valori nule.
Luați în considerare următoarele 2 tabele
În | Pătrat |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
În | Cub |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
În | Pătrat | Cub |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Îmbinare exterioară dreaptă ( A ⟖ B )
În îmbinarea exterioară dreaptă, operația permite păstrarea tuturor tuplului în relația corectă. Cu toate acestea, dacă nu există un tuplu care se potrivește în relația din stânga, atunci atributele relației din stânga din rezultatul îmbinării sunt umplute cu valori nule.
AB
În | Cub | Pătrat |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Îmbinare exterioară completă ( A ⟗ B)
Într-o îmbinare exterioară completă, toate tuplurile din ambele relații sunt incluse în rezultat, indiferent de condiția de potrivire.
AB
În | Cub | Pătrat |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Rezumat
Operație (Simboluri) | Scop |
---|---|
Selectați(σ) | Operația SELECT este utilizată pentru selectarea unui subset de tupluri conform unei anumite condiții de selecție |
proiecție (π) | Proiecția elimină toate atributele relației de intrare, cu excepția celor menționate în lista de proiecție. |
Uniune Operațiune(∪) | UNIREA este simbolizată prin simbol. Include toate tuplurile care sunt în tabelele A sau B. |
Setați diferența (-) | – Simbolul o denotă. Rezultatul A – B este o relație care include toate tuplurile care sunt în A, dar nu în B. |
Intersecție (∩) | Intersecția definește o relație constând dintr-un set de tuplu care se află atât în A cât și în B. |
Produs cartezian(X) | Operația carteziană este utilă pentru a îmbina coloanele din două relații. |
Alăturare interioară | Inner join, include numai acele tupluri care îndeplinesc criteriile de potrivire. |
Theta Join(θ) | Cazul general al operațiunii JOIN se numește unire Theta. Este notat cu simbolul θ. |
Alăturați-vă EQUI | Când o îmbinare theta folosește numai condiția de echivalență, devine o îmbinare echi. |
Asociere naturală(⋈) | Unirea naturală poate fi efectuată numai dacă există un atribut comun (coloană) între relații. |
Alăturare exterioară | Într-o îmbinare exterioară, împreună cu tupluri care îndeplinesc criteriile de potrivire. |
Left Outer Joint( |
În îmbinarea exterioară din stânga, operația permite păstrarea tuturor tuplului în relația din stânga. |
Uniunea exterioară dreaptă ( |
În îmbinarea exterioară dreaptă, operația permite păstrarea tuturor tuplului în relația corectă. |
Unire exterioară completă ( |
Într-o îmbinare exterioară completă, toate tuplurile din ambele relații sunt incluse în rezultat, indiferent de condiția de potrivire. |