Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Apuntes sobre álgebra relacional en Bases de Datos, Apuntes de Programación de Bases de Datos

Documento que presenta conceptos básicos de álgebra relacional en el contexto de Bases de Datos, incluyendo operaciones binarias, unarias, unión, selección, intersección, proyección, diferencia, reanomenamiento y producto cartesiano. Además, explica el concepto de tancamiento relacional y relaciones compatibles.

Tipo: Apuntes

2020/2021

Subido el 11/05/2021

macondo1986
macondo1986 🇪🇸

4.3

(361)

74 documentos

1 / 18

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
FIB: Bases de Dades (BD)
3.1 Laboratori - Llenguatges: Àlgebra relacional 63
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
3.1 Llenguatges: Àlgebra relacional
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Vista previa parcial del texto

¡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