logo

Introducció de l'àlgebra relacional al SGBD

Requisit previ: Model relacional en DBMS

L'àlgebra relacional és un llenguatge de consulta procedimental. L'àlgebra relacional proporciona principalment una base teòrica per a bases de dades relacionals i SQL . El propòsit principal d'utilitzar l'àlgebra relacional és definir operadors que transformen una o més relacions d'entrada en una relació de sortida. Atès que aquests operadors accepten relacions com a entrada i produeixen relacions com a sortida, es poden combinar i utilitzar per expressar consultes potencialment complexes que transformen potencialment moltes relacions d'entrada (les dades de les quals s'emmagatzemen a la base de dades) en una única relació de sortida (els resultats de la consulta) . Com que es tracta de matemàtiques pures, no s'utilitzen paraules clau angleses a l'àlgebra relacional i els operadors es representen mitjançant símbols.



Operadors fonamentals

Aquests són els operadors bàsics/fonamentals utilitzats en àlgebra relacional.

  1. Selecció (σ)
  2. Projecció (π)
  3. Unió (U)
  4. Estableix la diferència (-)
  5. Estableix la intersecció (∩)
  6. Canvia el nom (ρ)
  7. Producte cartesià (X)

1. Selecció (σ): S'utilitza per seleccionar les tuples requerides de les relacions.

Exemple:



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

Per a la relació anterior, σ(c>3)R seleccionarà les tuples que tinguin c més de 3.

A B C
1 2 4
4 3 4

Nota: L'operador de selecció només selecciona les tuples requerides però no les mostra. Per a la visualització, s'utilitza l'operador de projecció de dades.

2. Projecció (π): S'utilitza per projectar les dades de columna requerides d'una relació.



quins mesos són q1

Exemple: Considereu la taula 1. Suposem que volem les columnes B i C de la relació R.

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

Nota: Per defecte, la projecció elimina les dades duplicades.

3. Unió (U): L'operació d'unió en àlgebra relacional és la mateixa que en la teoria de conjunts.

Exemple:

FRANCÈS

Nom de l'estudiant Número_Roll
Ram 01
Mohan 02
Vivek 13
Geeta 17

ALEMANY

Nom de l'estudiant Número_Roll
Vivek 13
Geeta 17
Shyam 21
Rohan 25

Considereu la següent taula d'estudiants que tenen diferents assignatures optatives al seu curs.

π(Student_Name)FRENCH U π(Student_Name)GERMAN>
Nom de l'estudiant
Ram
Mohan
Vivek
Geeta
Shyam
Rohan

Nota: L'única limitació en la unió de dues relacions és que ambdues relacions han de tenir el mateix conjunt d'atributs.

4. Estableix la diferència (-): La diferència de conjunts en àlgebra relacional és la mateixa operació de diferència de conjunts que en la teoria de conjunts.

Exemple: A la taula anterior de FRANCÉS i ALEMANY, s'utilitza la diferència de conjunt de la manera següent

π(Student_Name)FRENCH - π(Student_Name)GERMAN>
Nom de l'estudiant
Ram
Mohan

Nota: L'única restricció en el conjunt de diferència entre dues relacions és que ambdues relacions han de tenir el mateix conjunt d'atributs.

5. Estableix la intersecció (∩): La intersecció de conjunts en àlgebra relacional és la mateixa operació d'intersecció de conjunts en la teoria de conjunts.

Exemple: A la taula anterior de FRANCÉS i ALEMANY, la intersecció de conjunt s'utilitza de la següent manera

π(Student_Name)FRENCH ∩ π(Student_Name)GERMAN>
Nom de l'estudiant
Vivek
Geeta

Nota: L'única restricció en el conjunt de diferència entre dues relacions és que ambdues relacions han de tenir el mateix conjunt d'atributs.

6. Canvia el nom (ρ): El canvi de nom és una operació unària que s'utilitza per canviar el nom dels atributs d'una relació.

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

7. Producte creuat (X): Producte creuat entre dues relacions. Posem per cas A i B, de manera que el producte creuat entre A X B donarà com a resultat tots els atributs de A seguits de cada atribut de B. Cada registre d'A s'aparellarà amb cada registre de B.

Exemple:

sense senyal d'entrada

A

Nom Edat Sexe
Ram 14 M
final 15 F
Quim 20 M

B

ID Curs
1 DS
2 DBMS

A X B

Nom Edat Sexe ID Curs
Ram 14 M 1 DS
Ram 14 M 2 DBMS
final 15 F 1 DS
final 15 F 2 DBMS
Quim 20 M 1 DS
Quim 20 M 2 DBMS

Nota: Si A té 'n' tuples i B té 'm' tuples, llavors A X B tindrà 'n*m' tuples.

Operadors derivats

Aquests són alguns dels operadors derivats, que es deriven dels operadors fonamentals.

  1. Unió natural(⋈)
  2. Unió condicional

1. Unió natural(⋈): La unió natural és un operador binari. La unió natural entre dues o més relacions donarà lloc a un conjunt de totes les combinacions de tuples on tenen un atribut comú igual.

Exemple:

EMP

Nom ID Nom_departament
A 120 IT
B 125 RRHH
C 110 Vendes
D 111 IT

DEPT

Nom_departament Gerent
Vendes I
Producció AMB
IT A

Unió natural entre EMP i DEPT amb condició:

EMP.Dept_Name = DEPT.Dept_Name

on són la configuració del navegador

EMP ⋈ DEPT

Nom ID Nom_departament Gerent
A 120 IT A
C 110 Vendes I
D 111 IT A

2. Unió condicional: La unió condicional funciona de manera similar a la unió natural. A la unió natural, per defecte, la condició és igual entre els atributs comuns, mentre que a la unió condicional podem especificar qualsevol condició com ara major que, menor que o no igual.

Exemple:

R

ID Sexe Marques
1 F 45
2 F 55
3 F 60

S

ID Sexe Marques
10 M 20
11 M 22
12 M 59

Uniu entre R i S amb condició R.marks>= S.marks

R.ID R.Sex R.Marques S.ID S.Sex S.Marques
1 F 45 10 M 20
1 F 45 11 M 22
2 F 55 10 M 20
2 F 55 11 M 22
3 F 60 10 M 20
3 F 60 11 M 22
3 F 60 12 M 59

Càlcul relacional

Com que l'àlgebra relacional és un llenguatge de consulta procedimental, el càlcul relacional és un llenguatge de consulta no procedimental. Bàsicament tracta dels resultats finals. Sempre em diu què he de fer però mai em diu com ho he de fer.

Hi ha dos tipus de càlcul relacional

  1. Càlcul relacional de tuples (TRC)
  2. Càlcul relacional de domini (DRC)

Articles en profunditat:
Operadors-bàsics-en-àlgebra-relacional
Operadors d'àlgebra relacional estesa