logo

Introducerea Algebrei Relaționale în SGBD

Cerință prealabilă: Model relațional în SGBD

Algebra relațională este un limbaj procedural de interogare. Algebra relațională oferă în principal o bază teoretică pentru bazele de date relaționale și SQL . Scopul principal al utilizării algebrei relaționale este de a defini operatori care transformă una sau mai multe relații de intrare într-o relație de ieșire. Având în vedere că acești operatori acceptă relații ca intrare și produc relații ca ieșire, ele pot fi combinate și utilizate pentru a exprima interogări potențial complexe care transformă potențial multe relații de intrare (ale căror date sunt stocate în baza de date) într-o singură relație de ieșire (rezultatele interogării) . Deoarece este matematică pură, nu se folosesc cuvinte cheie englezești în algebra relațională, iar operatorii sunt reprezentați folosind simboluri.



Operatori fundamentali

Aceștia sunt operatorii de bază/fundamentali utilizați în algebra relațională.

  1. Selecție (σ)
  2. proiecție (π)
  3. Uniune(U)
  4. Setați diferența (-)
  5. Setați intersecția (∩)
  6. Redenumiți(ρ)
  7. Produs cartezian(X)

1. Selectare (σ): Este folosit pentru a selecta tuplurile necesare ale relațiilor.

Exemplu:



A B C
1 2 4
2 2 3
3 2 3
4 3 4

Pentru relatia de mai sus, σ(c>3)R va selecta tuplurile care au c mai mult de 3.

A B C
1 2 4
4 3 4

Notă: Operatorul de selecție selectează doar tuplurile necesare, dar nu le afișează. Pentru afișare se folosește operatorul de proiecție a datelor.

2. Proiecție (π): Este folosit pentru a proiecta datele de coloană necesare dintr-o relație.



urfi javed

Exemplu: Luați în considerare tabelul 1. Să presupunem că vrem coloanele B și C din relația R.

π(B,C)R will show following columns.>
B C
2 4
2 3
3 4

Notă: În mod implicit, proiecția elimină datele duplicat.

3. Uniune(U): Operația de unire în algebra relațională este aceeași cu operația de unire în teoria mulțimilor.

Exemplu:

LIMBA FRANCEZA

Numele studentului Roll_Number
RAM 01
Mohan 02
Vivek 13
Geeta 17

LIMBA GERMANA

Numele studentului Roll_Number
Vivek 13
Geeta 17
Shyam douăzeci și unu
Rohan 25

Luați în considerare următorul tabel de studenți care au diferite discipline opționale în cursul lor.

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Numele studentului
RAM
Mohan
Vivek
Geeta
Shyam
Rohan

Notă: Singura constrângere în unirea a două relații este aceea că ambele relații trebuie să aibă același set de atribute.

4. Setați diferența (-): Diferența de set în algebra relațională este aceeași operație de diferență de mulțimi ca și în teoria mulțimilor.

Exemplu: Din tabelul de mai sus pentru FRANCEZĂ și GERMANĂ, Set Difference este utilizat după cum urmează

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Numele studentului
RAM
Mohan

Notă: Singura constrângere în diferența de set între două relații este că ambele relații trebuie să aibă același set de atribute.

5. Setați intersecția (∩): Intersecția mulțimilor în algebra relațională este aceeași operație de intersecție a mulțimilor în teoria mulțimilor.

Exemplu: Din tabelul de mai sus de FRANCEZĂ și GERMANĂ, Intersecția Set este utilizată după cum urmează

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Numele studentului
Vivek
Geeta

Notă: Singura constrângere în Setul Diferență dintre două relații este că ambele relații trebuie să aibă același set de Atribute.

6. Redenumiți(ρ): Redenumirea este o operație unară folosită pentru redenumirea atributelor unei relații.

 ρ(a/b)R will rename the attribute 'b' of the relation by 'a'.>

7. Produs încrucișat(X): Produs încrucișat între două relații. Să spunem A și B, deci produsul încrucișat dintre A X B va avea ca rezultat toate atributele lui A urmate de fiecare atribut al lui B. Fiecare înregistrare a lui A se va împerechea cu fiecare înregistrare a lui B.

Exemplu:

char în șir java

A

Nume Vârstă Sex
RAM 14 M
până la capăt cincisprezece F
Kim douăzeci M

B

ID Curs
1 DS
2 SGBD

A X B

Nume Vârstă Sex ID Curs
RAM 14 M 1 DS
RAM 14 M 2 SGBD
până la capăt cincisprezece F 1 DS
până la capăt cincisprezece F 2 SGBD
Kim douăzeci M 1 DS
Kim douăzeci M 2 SGBD

Notă: Dacă A are „n” tupluri și B are „m” tupluri, atunci A X B va avea „n*m” tupluri.

Operatori derivați

Aceștia sunt câțiva dintre operatorii derivați, care sunt derivați din operatorii fundamentali.

  1. Asociere naturală(⋈)
  2. Asociere condiționată

1. Îmbinare naturală(⋈): Asocierea naturală este un operator binar. Îmbinarea naturală între două sau mai multe relații va avea ca rezultat un set de toate combinațiile de tupluri în care au un atribut comun egal.

Exemplu:

EMP

Nume ID Dept_Nume
A 120 ACEASTA
B 125 HR
C 110 Vânzări
D 111 ACEASTA

DEPT

Dept_Nume Administrator
Vânzări ȘI
Productie CU
ACEASTA A

Îmbinare naturală între EMP și DEPT cu condiția:

EMP.Dept_Name = DEPT.Dept_Name

EMP ⋈ DEPT

alternativa xampp
Nume ID Dept_Nume Administrator
A 120 ACEASTA A
C 110 Vânzări ȘI
D 111 ACEASTA A

2. Asociere condiționată: Îmbinarea condiționată funcționează similar cu îmbinarea naturală. În îmbinarea naturală, condiția implicită este egală între atributele comune, în timp ce în îmbinarea condiționată putem specifica orice condiție, cum ar fi mai mare decât, mai mică decât sau nu este egală.

Exemplu:

R

ID Sex Marci
1 F Patru cinci
2 F 55
3 F 60

S

ID Sex Marci
10 M douăzeci
unsprezece M 22
12 M 59

Unire între R și S cu condiție R.marks>= S.marks

SCĂPA R.Sex R.Marcs S.ID S.Sex S.Marci
1 F Patru cinci 10 M douăzeci
1 F Patru cinci unsprezece M 22
2 F 55 10 M douăzeci
2 F 55 unsprezece M 22
3 F 60 10 M douăzeci
3 F 60 unsprezece M 22
3 F 60 12 M 59

Calcul relațional

Deoarece algebra relațională este un limbaj de interogare procedural, calculul relațional este un limbaj de interogare non-procedural. Practic se ocupă de rezultatele finale. Îmi spune întotdeauna ce să fac, dar nu îmi spune niciodată cum să o fac.

Există două tipuri de calcul relațional

  1. Calcul relațional tuplu (TRC)
  2. Calcul relațional de domeniu (DRC)

Articole aprofundate:
Operatori-de-bază-în-algebră-relațională
Operatori de algebră relațională extinsă