¡Descarga Apuntes sobre álgebra relacional en Bases de Datos y más Apuntes en PDF de Programación de Bases de Datos solo en Docsity!
3.1 Llenguatges: Àlgebra relacional • Introducció• Operacions de l’àlgebra relacional^ ^ Unió^ ^ Reanomenament^ ^ Intersecció^ ^ Diferència^ ^ Producte cartesià^ ^ Selecció^ ^ Projecció^ ^ Combinació (join)• Seqüència d’operacions de l’àlgebra relacional
Introducció • Els^ llenguatges relacionals de manipulació
(DML) es poden classificar en:
- llenguatges basats en l'àlgebra relacional- llenguatges basats en el càlcul relacional (p.e.: SQL)encara que molts agafen elements de totes dues línies(SQL també incorpora elements de l'àlgebra).• Càlcul relacional : Té el seu fonament en el càlcul de predicats
Declaratiu Que?
-^ Àlgebra relacional:
Té el seu fonament en la teoria de conjunts(recordar que les relacions són conjunts)
Procedimental Com?
-^ Interés^ de l'àlgebra relacional:- ajuda a entendre quines funcionalitats de consulta ha de proporcionar unllenguatge relacional- la versió estandard actual de SQL incorpora operacions de l'àlgebra relacional- els SGBD processen i optimitzen les consultes basant-se en l'àlgebra relacional (recordarque l'àlgebra és procedimental i, per exemple, l'SQL és declaratiu)
Operacions de l’àlgebra relacional^ •^ 1a classif.:
Operacions conjuntistes
Operacions específicament relacionals
Unió^
Selecció
Intersecció^
Projecció
Diferència^
Combinació (join)
Producte Cartesià
Reanomenament
-^ 2a classif.:^ Operacions primitives
Operacions no primitives
Unió^
Intersecció
Diferència^
Combinació (join)
Producte CartesiàSeleccióProjeccióReanomenament
-^ 3a classif.:^ Operacions binàries
Operacions unàries
Unió^
Selecció
Intersecció^
Projecció
Diferència^
Reanomenament
Producte CartesiàCombinació (join)
-^ Tancament relacional
: Tant els operands com el resultat d’una operació de l’àlgebra
relacional són relacionsEx: T = R
S
Exemple^ MODUL-CN(modul, sup-promig-de)
B6^10 B2^20
OFICINA(modul-de, num-de, superfície)B^
25 10 B6 27 10 B2 25 15 B2 30 25
PERSONAL-ADM(num-per, nom, cognom, modul, num)
100 Joan^ Soler
B6^25
150 Clara^ Bellsolà
B6^25
PERSONAL-LAB(num-per, nom, cognom, modul, num)
150 Clara^ Bellsolà
B6^25
110 Núria^ Nogué
B2^25
200 Jordi^ Moles
B6^27
230 Pere^ Roig
NULL^ NULL
{modul-de} és una clau foranaque referencia MODUL-CN{modul, num} és una clau foranaque referencia OFICINA{modul, num} és una clau foranaque referencia OFICINA
Relacions compatibles^ • Algunes operacions de l’àlgebra relacional, com ara la unió, només té sentit ques’apliquin a relacions que siguin compatibles (que tinguin tuples “similars”)• Exemple: pot fer-se la unió
PERSONAL-ADM
PERSONAL-LAB
perquè les tuples de les dues relacions s’assemblen en canvi no té sentit fer la unióPERSONAL-ADM
OFICINES
- Diem que^ dues relacions T i S són compatibles
si:
- tenen esquemes amb un conjunt d’atributs idèntic, i els dominis de cada parellad’atributs són els mateixos a T i a S.Exemple:PERSONAL-ADM i PERSONAL-LAB són clarament compatibles:PERSONAL-ADM(num-per, nom, cognom,
modul,^ num) PERSONAL-LAB(num-per, nom, cognom,
modul,^ num)
Reanomenament^ • L’ esquema
PERSONAL-DOC(num-per, nom, cognom, modul-de, num-de) de la relació resultant és el mateix, exceptuant el canvi de nom dels atributsque han estat reanomenats.• L’ extensió de la relació resultant no canvia.
400 Jaume Cases
Omega^119 500 Pau^ Pou
B6^123
R =PERSONAL-DOC {modul-de -> modul, num-de -> num}R(num-per, nom, cognom,
modul,^ num) 400 Jaume Cases
Omega^119 500 Pau^ Pou
B6^123
3.1 Laboratori - Llenguatges: Àlgebra relacional FIB: Bases de Dades (BD)
Diferència^ • Els atributs de l’
esquema^ de la relació resultant de T - S coincideixen amb els atributs
de l’esquema de la relació T o la relació S.• L’ extensió^ de la relació resultant de T - S és el conjunt de tuples que pertanyen al’extensió de T però no a la de S.• Per fer la diferència de dues relacions T i S cal que T i S siguin
relacions compatibles.
PERSONAL-ADM(num-per, nom, cognom, modul, num)^100 • En cas de que els atributs de T i S no coincideixin cal reanomenar els atributs d’una deles dues relacions per tal de que siguin compatibles.
Joan^ Soler^
B6^25
150 Clara^ Bellsolà
B6^25
PERSONAL-LAB(num-per, nom, cognom, modul,
num) 150 Clara^ Bellsolà
B6^25
110 Núria^ Nogué
B2^25
200 Jordi^ Moles
B6^27
230 Pere^ Roig
NULL^ NULL
R =PERSONAL-ADM
PERSONAL-LAB
R(num-per, nom, cognom, modul, num)^100 Joan
Soler^ B^
Producte Cartesià^ • Els atributs de l’
esquema^ de la relació resultant de T
S són tots els atributs de T i tots
els atributs de S.• Si T i S tenen algun nom d’atribut idèntic, s’haurà de fer prèviament una operació dereanomenament d’una de les dues relacions per eliminar l’ambigüitat.• L’ extensió^ de la relació resultant de T
S és el conjunt de totes les tuples de la forma
<v^ , v^ , ..., v, w^1 2 n^
, w, ..., w> on es compleix que <v 1 2 m^
, v^ , ..., v> pertany a l’extensió de T i 1 2 n^
que <w, w, ..., w^1
> pertany a l’extensió de S.m
- Per fer el producte cartesià de dues relacions T i S
no cal^ que T i S siguin
relacions
MODUL-CN(modul, sup-promig-of) compatibles
B6^10 B2^20
OFICINA(modul-de, num-de, superfície)B^
25 10 B6 27 10 B2 25 15 B2 30 25
R =MODUL-CN
OFICINA
R(modul, sup-promig-of, modul-de, num-de, superfície)^ B6^10
B^
B6^10
B6^27
B6^10
B2^25
B6^10
B2^30
B2^20
B6^25
B2^20
B6^27
B2^20
B2^25
B2^20
B2^30
Projecció • T[A, A, ..., A]ijk^
indica la projecció de T sobre {A
, A, ..., A}, essent {Ai^ jk
, A, ..., A} un subconjunti^ jk
dels atributs de l’esquema de la relació T.• Els atributs de l’
esquema^ de la relació resultant de T[A
, A, ..., A], són els atributs {Ai^ jk
, A, ..., A}i jk
- L’ extensió^ de la relació resultant de T[A
, A, ..., A] és el conjunt de totes les tuples de la formai^ jk
<t.A, t.A, ..., t.Ai^ j
> on es compleix que t és una tupla de l’extensió de T i on t.Ak
denota el valor perp^
l’atribut Ade la tupla t.p^
R =PERSONAL-ADM[modul, num]R(modul, num)
B6^25
PERSONAL-ADM(num-per, nom, cognom, modul, num)
100 Joan^ Soler
B6^25
150 Clara^ Bellsolà
B6^25 En àlgebra relacional,^ NO HI HA TUPLES REPETIDES^ perquè el resultat de lesoperacions són conjunts.
Combinació (join) •^ T[B]S^ indica la combinació de T i S amb la condició B• La^ condició B
d’una combinació
T [B] S^ està formada per una o més comparacions de la forma:A^ Ai^ j
on Aés un atribut de la relació T, Ai^
és un atribut de la relació S,j^
^ és un operador de comparació
() i es compleix que A
i Atenen el mateix domini.i^ j^
- Les comparacions d’una condició de combinació se separen per comes.
R =MODUL-CN[modul=modul-de]OFICINAR(modul, sup-promig-of, modul-de, num-de, superfície)B6^10
B6^25
B6^10
B6^27
B2^20
B2^25
B2^20
B2^30
OFICINA(modul-de, num-de, superfície)B6^25 10 B6^27 10 B2^25 15 B2^30 25^25
MODUL-CN(modul, sup-promig-of)B^
10 B2 20
R =MODUL-CN[modul=modul-de, sup-promig-of
superfície]OFICINA
R(modul, sup-promig-of, modul-de, num-de, superfície)B6^10
B^
B6^10
B6^27
B2^20
B2^30
3.1 Laboratori - Llenguatges: Àlgebra relacional FIB: Bases de Dades (BD)
Combinació (join): Tipus de “joins”^ •^ “Natural join”:
Variant de la “equi-join” en la qual s’eliminen els atributs superflus. Es denota
-^ “ -join”:^ La “join” s’anomena també “ mitjançant un *. La diferència amb la “equi-join” és en l’esquema de la relació resultant, ja que no hiapareix el segon atribut de la comparació.
-join”
-^ “Equi-join” : Cas particular de “join” en què totes les comparacions de la condició tenenl’operador ‘=‘.PERSONAL-ADM(num-per, nom, cognom, modul, num)
100 Joan^ Soler
B6^25
150 Clara^ Bellsolà
B6^25
OFICINA(modul-de, num-de, superfície)B^
25 10 B6 27 10 B2 25 15 B2 30 25
R =PERSONAL-ADM[modul=modul-de, num=num-de]OFICINAR(num-per, nom, cognom, modul, num, modul-de, num-de, superfície)^100 Joan
Soler^ B^
25 B^
150 Clara^ Bellsolà
B6^25
B6^25
PERSONAL-ADM(num-per, nom, cognom, modul, num)
100 Joan^ Soler
B6^25
150 Clara^ Bellsolà
B6^25
OFICINA(modul-de, num-de, superfície)B^
25 10 B6 27 10 B2 25 15 B2 30 25
R =PERSONAL-ADM[modulmodul-de, numnum-de]OFICINAR(num-per, nom, cognom, modul, num, superfície)^100
Joan^ Soler^ B
150 Clara^ Bellsolà
B6^25
Combinació (join): “Natural join” implícita^ • La^ “natural join” ímplicita:
Variant de la “natural-join” en la qual no s’especifica la condició
PERSONAL-ADM(num-per, nom, cognom, modul, num)de combinació i aleshores s’assumeix per defecte que la condició de combinació correspon ala d’una “natural join” on s’igualen tots els parells d’atributs que tenen el mateix nom a les duesrelacions.•^ T * S^ denota la “natural join” ímplicita de T i S.
100 Joan^ Soler
B6^25
150 Clara^ Bellsolà
B6^25
MODUL-CN(modul, sup-promig-de)
B6^10 B2^20
R =PERSONAL-ADM * MODUL-CNR(num-per, nom, cognom, modul, num, sup-promig-de)^100 Joan^ Soler
B6^25
150 Clara^ Bellsolà
B6^25