Algebră relațională în SGBD: Operații cu exemple

Algebra relațională

ALGEBRA RELAȚIONALĂ este un limbaj de interogare procedural utilizat pe scară largă. Colectează instanțe de relații ca input și dă apariții de relații ca output. Folosește diverse operații pentru a efectua această acțiune. SQL Operațiile de interogare a algebrei relaționale sunt efectuate recursiv pe o relație. Rezultatul acestor operații este o nouă relație, care ar putea fi formată dintr-una sau mai multe relații de intrare.

În acest tutorial, veți învăța:

  • Algebra relațională
  • SELECT (σ)
  • Proiecție (π)
  • Redenumiți (ρ)
  • Operațiune sindicală (υ)
  • Setați diferența (-)
  • Intersecție
  • Produs cartezian (X)
  • Alăturați-vă operațiunilor
  • Alăturare interioară:
  • Alăturați-vă Theta:
  • Alăturați-vă EQUI:
  • NATURAL JOIN (⋈)
  • ALĂTURAȚI-VĂ
  • Îmbinare exterioară stângă (A B)
  • Îmbinare exterioară dreaptă: (A B)
  • Alăturare completă exterioară: (A B)

Operațiuni de bază SQL algebră relațională

Algebra relațională s-a împărțit în diferite grupuri

Operații relaționale unare

  • SELECT (simbol: σ)
  • PROIECT (simbol: π)
  • RENAME (simbol: ρ)

Operații de algebră relațională din teoria seturilor

  • UNIUNE (υ)
  • INTERSECȚIE ( ),
  • DIFERENȚĂ (-)
  • PRODUS CARTEZIAN (x)

Operații relaționale binare

  • A TE ALATURA
  • DIVIZIA

Să le studiem în detaliu cu soluții:

SELECT (σ)

Operația SELECT este utilizată pentru selectarea unui subset de tupluri în funcție de o anumită condiție 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 predicat rînseamnă relație care este numele tabelului peste logică prepozițională

Exemplul 1

σ topic = "Database" (Tutorials)

Ieșire - Selectează tupluri din Tutoriale unde topic = 'Baza de date'.

Exemplul 2

σ topic = "Database" and author = "guru99"( Tutorials)

Ieșire - Selectează tupluri din Tutoriale unde subiectul este „Baza de date” și „autor” este guru99.

Exemplul 3

σ sales > 50000 (Customers)

Ieșire - Selectează tupluri de la clienți unde vânzările sunt mai mari de 50000

Proiecție (π)

Proiecția elimină toate atributele relației de intrare, dar cele menționate în lista de proiecție. Metoda de proiecție 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. (pi) simbolul este utilizat pentru a alege atributele dintr-o relație. Acest operator vă ajută să păstrați anumite coloane dintr-o relație și să eliminați celelalte coloane.

Exemplu de proiecție:

Luați în considerare următorul tabel

Număr de înregistrare client Numele clientului stare
1 Google Activ
2 Amazon Activ
3 măr Inactiv
4 Alibaba Activ

Aici, proiecția Numelui clientului și starea vor da

Π CustomerName, Status (Customers)
Numele clientului stare
Google Activ
Amazon Activ
măr Inactiv
Alibaba Activ

Redenumiți (ρ)

Redenumirea este o operație unară utilizată pentru redenumirea atributelor unei relații.

ρ (a / b) R va redenumi atributul „b” al relației cu „a”.

Operațiune sindicală (υ)

UNIUNEA este simbolizată prin simbolul ∪. Include toate tuplurile care se află în tabelele A sau B. De asemenea, elimină tuplurile duplicate. Deci, setul A UNION setul B ar fi exprimat ca:

Rezultatul <- A ∪ B

Pentru ca o operațiune sindicală să fie valabilă, trebuie să îndeplinească următoarele condiții -

  • R și S trebuie să fie același număr de atribute.
  • Domeniile de atribute trebuie să fie compatibile.
  • Duplurile duplicate ar trebui eliminate automat.

Exemplu

Luați în considerare următoarele tabele.

Tabelul A Tabelul B
coloana 1 coloana 2 coloana 1 coloana 2
1 1 1 1
1 2 1 3

A ∪ B dă

Tabelul A ∪ B
coloana 1 coloana 2
1 1
1 2
1 3

Setați diferența (-)

- Simbolul denotă acest lucru. Rezultatul lui A - B, este o relație care include toate tuplurile care sunt în A, dar nu în B.

  • Numele atributului lui A trebuie să se potrivească cu numele atributului din B.
  • Relațiile cu doi operandi A și B ar trebui să fie compatibile sau compatibile cu Uniunea.
  • Ar trebui definită relația constând din tuplurile care sunt în relația A, dar nu în B.

Exemplu

A-B
Tabelul 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 unirea.

Definiția vizuală a intersecției

Exemplu:

A ∩ B
Tabelul A ∩ B
coloana 1 coloana 2
1 1

Produs cartezian (X) în SGBD

Produs cartezian în SGBD este o operație utilizată pentru a îmbina coloane din două relații. În general, un produs cartezian nu este niciodată o operațiune semnificativă atunci când funcționează singur. Cu toate acestea, devine semnificativ atunci când este urmat de alte operații. Se mai numește 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 2 = '1' (AXB)
coloana 1 coloana 2
1 1
1 1

Alăturați-vă operațiunilor

Operația de asociere este în esență un produs cartezian urmat de un criteriu de selecție.

Operațiunea de asociere notată cu ⋈.

Operațiunea JOIN permite, de asemenea, alăturarea de tupluri diferite din diferite relații.

Tipuri de ÎNREGISTRARE:

Diferite forme de operațiune de asociere sunt:

Îmbinări interioare:

  • Theta se alătură
  • Alătură-te EQUI
  • Alăturare naturală

Alăturare exterioară:

  • Stânga la exterior
  • Alăturați-vă la dreapta
  • Alăturare completă exterioară

Alăturare interioară:

Într-o îmbinare interioară, sunt incluse numai acele tupluri care îndeplinesc criteriile de potrivire, în timp ce restul sunt excluse. Să studiem diferite tipuri de îmbinări interioare:

Alăturați-vă Theta:

Cazul general al operației JOIN se numește unire Theta. Se notează cu simbolul θ

Exemplu

A ⋈θ B

Unirea Theta poate utiliza orice condiții din criteriile de selecție.

De exemplu:

A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.coloana 2> B.coloana 2 (B)
coloana 1 coloana 2
1 2

Alăturați-vă EQUI:

Când o îmbinare theta folosește doar condiția de echivalență, ea devine o îmbinare echi.

De exemplu:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.coloana 2 = B.coloana 2 (B)
coloana 1 coloana 2
1 1

EQUI join este cea mai dificilă operațiune de implementat eficient utilizând SQL într-un RDBMS și un motiv pentru care RDBMS are probleme esențiale de performanță.

NATURAL JOIN (⋈)

Unirea naturală poate fi realizată numai dacă există un atribut (coloană) comun între relații. Numele și tipul atributului trebuie să fie aceleași.

Exemplu

Luați în considerare următoarele două tabele

C
Num Pătrat
2 4
3 9
D
Num cub
2 8
3 27
C ⋈ D
C ⋈ D
Num Pătrat cub
2 4 4
3 9 27

ALĂTURAȚI-VĂ

Într-o îmbinare exterioară, împreună cu tupluri care îndeplinesc criteriile de potrivire, includem, de asemenea, unele sau toate tuplurile care nu corespund criteriilor.

Îmbinare exterioară stângă (A B)

În îmbinarea exterioară stângă, operația permite menținerea tuturor tuplurilor în relația stângă. Cu toate acestea, dacă nu există un tuplu care se potrivește se găseș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

A
Num Pătrat
2 4
3 9
4 16
B
Num cub
2 8
3 18
5 75
A  B
A ⋈ B
Num Pătrat cub
2 4 4
3 9 9
4 16 -

Îmbinare exterioară dreaptă: (A B)

În îmbinarea exterioară dreaptă, operația permite menținerea tuturor tuplurilor în relația corectă. Cu toate acestea, dacă nu există un tuplu care se potrivește, se găsește în relația din stânga, atunci atributele relației din stânga din rezultatul îmbinării sunt umplute cu valori nule.

A  B
A ⋈ B
Num cub Pătrat
2 8 4
3 18 9
5 75 -

Alăturare completă exterioară: (A B)

Într-o îmbinare exterioară completă, toate tuplurile din ambele relații sunt incluse în rezultat, indiferent de condiția de potrivire.

A  B
A ⋈ B
Num cub Pătrat
2 4 8
3 9 18
4 16 -
5 - 75

rezumat

Operare (simboluri)

Scop

Selectați (σ)

Operația SELECT este utilizată pentru selectarea unui subset de tupluri în funcție de o condiție de selecție dată

Proiecție (π)

Proiecția elimină toate atributele relației de intrare, dar cele menționate în lista de proiecție.

Operațiunea Uniunii (∪)

UNIUNEA este simbolizată prin simbol. Include toate tuplurile care se află în tabelele A sau B.

Setați diferența (-)

- Simbolul denotă acest lucru. Rezultatul lui 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 toate tuplurile care sunt 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ă

Alăturare interioară, include numai acele tupluri care îndeplinesc criteriile de potrivire.

Theta Join (θ)

Cazul general al operației JOIN se numește unire Theta. Se notează cu simbolul θ.

EQUI Alătură-te

Când o îmbinare theta folosește doar condiția de echivalență, ea devine o îmbinare echi.

Alăturare naturală (⋈)

Unirea naturală poate fi realizată numai dacă există un atribut (coloană) comun între relații.

Alăturare exterioară

Într-o îmbinare exterioară, împreună cu tupluri care îndeplinesc criteriile de potrivire.

Îmbinare exterioară stângă ( )

În îmbinarea exterioară stângă, operația permite menținerea tuturor tuplurilor în relația stângă.

Unire exterioară dreaptă ( )

În îmbinarea exterioară dreaptă, operația permite menținerea tuturor tuplurilor în relația corectă.

Alăturare exterioară completă ( )

Într-o îmbinare exterioară completă, toate tuplurile din ambele relații sunt incluse în rezultat, indiferent de condiția de potrivire.

Articole interesante...