Tema 5 Algebra Relacional
Asignatura de Bases de Datos Tema 5
Algebra Relacional Pedro Pablo Alarcón Cavero Departamento de O.E.I.
Escuela Universitaria de Informática Universidad Politécnica de Madrid
1 Álgebra Relacional n Introducción n
Lenguajes de acceso en BDR n Álgebra Relacional
Lenguaje procedimental (se indica qué y cómo obtenerlo)
n n Cálculo RelacionalLenguaje no procedimental (se indica qué pero no cómo obtenerlo) n
Dos tipos n
Orientado a Tuplas n
Orientado a Dominios n
Álgebra y Cálculo Relacional son equivalentes en poder
n expresivo n Lenguajes de Usuario n SQL (Structured Query Language), basado en álgebra relacional n QBE (Query By Example), basado en cálculo relacional Bases de Datos2 2002 © P.P. Alarcón
Álgebra Relacional n Definición n Conjunto cerrado de operaciones n Actúan sobre relaciones n Producen relaciones como resultados
n Pueden combinarse para construir expresiones más complejas
n nOperadores Básicos Operadores Derivados n Unión n Intersección n Diferencia n Join n Producto Cartesiano n División n Selección n Asociación n Proyección
No añaden nada nuevo n
Son operacionalmente completos, n
Se forman combinando los operadores básicos permiten expresar cualquier consulta a n una BDR Son útiles en determinadas consultas Bases de Datos n
3 2002 © P.P. Alarcón
Unión R S n ∪ ∪
La unión de dos relaciones R y S, es otra relación que
ncontiene las tuplas que están en R, o en S, o en ambas,
eliminándose las tuplas duplicadas R y S deben ser unión-compatible, es decir, definidas n sobre el mismo conjunto de atributosI ngenieros ∪ ∪ Jefes I ngenieros Jefes E# Nombre Edad E# Nombre Edad E# Nombre Edad
320 José 34 320 José 34 320 José 34 322 Rosa 37 421 Jorge 48 322 Rosa 37
- 323 María 25 María 25 Bases de Datos
421 Jorge 48
4 2002 © P.P. Alarcón
- María 25
R x S n
I ngenieros X Proyectos E# Nombre D# Proyecto Tiempo
- Rosa D3 PY254Z 32
320 José D1 D1 Central 320 José D1 D3 I+D 322 Rosa D3 D1 Central
Proyectos I ngenieros X Departamentos E# Nombre D# DD Descrip
RX338A 21 PY254Z 32
Departamentos Proyecto Tiempo
D1 Central D3 I+D
I ngenieros D# Descrip
320 José D1 322 Rosa D3
E# Nombre D#
Define una relación que es la concatenación de cada una de las filas de la relación R con cada una de las filas de la relación S
- Rosa D3 D3 I+D
2002 © P.P. Alarcón Bases de Datos
6 Producto Cartesiano n
421 Jorge 48
Jefes - I ngenieros E# Nombre Edad
322 Rosa 37
I ngenieros Jefes I ngenieros - Jefes E# Nombre Edad
320 José 34 421 Jorge 48
E# Nombre Edad
320 José 34 322 Rosa 37 323 María 25
R y S deben ser unión-compatible E# Nombre Edad
5 Diferencia n R - S n La diferencia de dos relaciones R y S, es otra relación
que contiene las tuplas que están en la relación R, pero
no están en S n2002 © P.P. Alarcón Bases de Datos
320 José D1 RX338A 21 320 José D1 PY254Z 32 322 Rosa D3 RX338A 21
José Rosa María
8 Proyección n
Nombre
ππ Nombre (I ngenieros)
José 34 Rosa 37 María 25 José 29
( I ngenieros)
Nombre EdadI ngenieros ππ Nombre,Edad
320 José 34 322 Rosa 37
E# Nombre Edad
Es un operador unario n Define una relación que contiene un subconjunto vertical de R con los valores de los atributos especificados, eliminando filas duplicadas en el resultado
Π Π col1, . . . , coln (R) n
E# Nombre Edad 2002 © P.P. Alarcón Bases de Datos
2002 © P.P. Alarcón Bases de Datos
σ σ edad> = 45 (I ngenieros)
322 Rosa 37
E# Nombre Edad
I ngenieros σ σ edad> = 35 (I ngenieros)
320 José 34 322 Rosa 37 323 María 25
E# Nombre Edad
Define una relación con los mimos atributos que R y que contiene solo aquellas filas de R que satisfacen la condición especificada (predicado)
Es un operador unario n
σ σ predicado (R) n
7 Selección n
- María 25
- José 29
- – X
R2
Π C
R1 ÷
320 323
R1 E#
320 RX338A 320 PY254Z
R2 E# Proyecto
RX338A PY254Z
2 Proyecto
1
1 ) – R); X = X
((S X X
Π C
2 =
X
(R);
1 =
2002 © P.P. Alarcón Bases de Datos
X
⊂ conjunto de atributos de R n Equivalencia con operadores básicos
÷ ÷ S n Define una relación sobre el conjunto de atributos C, incluido en la
relación R, y que contiene el conjunto de valores de C, que en las
tuplas de R están combinadas con cada una de las tuplas de S n Condiciones n grado(R) > grado (S) n conjunto atributos de S10 División o Cociente n R
2002 © P.P. Alarcón Bases de Datos
320 José 34
I ngenieros Jefes I ngenieros ∩ ∩ Jefes E# Nombre Edad
320 José 34 421 Jorge 48
E# Nombre Edad
320 José 34 322 Rosa 37 323 María 25
E# Nombre Edad
Equivalencia con operadores básicos R ∩ S = R – (R – S)
∩ ∩ S n Define una relación que contiene el conjunto de todas las filas que están tanto en la relación R como en S n R y S deben ser unión-compatible n
9 Intersección n R
- RX338A 323 NC168T
- PY254Z
- PY254Z 324 NC168T
Join n Unión Natural (Natural Join) n ó
R S R * S n
El resultado es una relación con los atributos de ambas relaciones y se obtiene combinando las tuplas de ambas relaciones que tengan el mismo valor en los atributos comunes n
Normalmente la operación de join se realiza entre los atributos
comunes de dos tablas que corresponden a la clave primaria
de una tabla y la clave foránea correspondiente de la otra tabla nMétodo n Se realiza el producto cartesiano R x S
n Se seleccionan aquellas filas del producto cartesiano para las
que los atributos comunes tengan el mismo valor n Se elimina del resultado una ocurrencia (columna) de cada uno de los atributos comunes nEquivalencia con operadores básicos R S = (R S)
F σ F Χ Bases de Datos
11 2002 © P.P. Alarcón
Join n Outer Join n Es una variante del Join en la que se intenta mantener toda la información de los operandos, incluso para aquellas filas que no participan en el Join n
Se “rellenan con nulos” las tuplas que no tienen correspondencia en el Join n
Tres variantes n
Left n se tienen en cuenta todas las filas del primer operando n
Right n se tienen en cuenta todas las filas del segundo operando n
Full n se tienen en cuenta todas las filas de ambos operandos Bases de Datos
12 2002 © P.P. Alarcón
Join R1 * R2
LEFT
E# Nombre D# DescripR1 R2
320 José D1 Central 322 Rosa D3 I+D
E# Nombre D# D# Descrip
- María D3 I+D D1 Central 320 José D1
- José D5 null 322 Rosa D3
D3 I+D María D3 •
D4 Ventas R1 * R2
RI GHT
E# Nombre D# Descrip
- José D5
José D1 Central • 322 Rosa D3 I+D María D3 I+D •
R1 * R2 null null D4 Ventas
E# Nombre D# Descrip R1 * R2
FULL
E# Nombre D# Descrip320 José D1 Central 322 Rosa D3 I+D 320 José D1 Central 322 Rosa D3 I+D
- María D3 I+D
María D3 I+D • José D5 null • Bases de Datos null null D4 Ventas
13 2002 © P.P. Alarcón
Asociación n Asociación o Theta Join ( -Join)
θ
n óR S R * S F F n
Define una relación que contiene las tuplas que satisfacen el
predicado F en el producto cartesiano de R y S n
El predicado F es de la forma R.a θ S.b donde θ representa
i i un operador de comparación (<, ≤ , >, ≥ , =, ≠ ) nEl predicado no tiene por que definirse sobre atributos comunes n
Equivalencia con operadores básicos R S = (R S)
F σ F Χ n
Equijoin n Si el predicado F contiene únicamente el operador de igualdad Bases de Datos
14 2002 © P.P. Alarcón
Ejemplos Asignaturas Notas
CodA NombreA Precio Nmat CodA Conv Nota
1 Program. 15000 0338 1 Feb 02 8
2 Dibujo 20000 0254 2 Feb 02 5
3 Inglés 18000 0168 2 Feb 02 3 Alumnos
0338 2 Feb 02 5 Nmat Nombre Apellidos Domicilio Telefono 0338 3 Jun 02 7
0338 Ana Pérez Gómez C / Julio nº 96 1112233 0254 1 Jun 02 6 0254 Rosa López López C/ Verano s/n 1113344 0168 1 Jun 02 9 0168 Juan García García C/ Playa nº 1 1114455 Bases de Datos 0168 3 Jun 02 5
15 2002 © P.P. Alarcón
Ejemplo 1 n Obtener los apellidos y teléfono de los alumnos de nombre Rosa
( (Alumnos)) π σ apellidos, telefono nombre=‘Rosa’
Apellidos Telefono López López 1113344 n Obtener las notas obtenidas en la asignatura de Inglés
( (Alumnos*Notas*Asignaturas))
π σ nombre, apellidos, nota nombreA=‘Ingles’
Nombre Apellidos Nota Ana Pérez Gómez 7 Juan García García 5 Bases de Datos
16 2002 © P.P. Alarcón
2002 © P.P. Alarcón Bases de Datos
σ nombreA=‘Ingles’
(Notas)) 0338 0168 Nmat
( σ nota<5
π Nmat
σ nota>=5 (Notas)) -
Nmat (
Obtener los alumnos que no han suspendido ninguna asignatura π
(Asignaturas) * Alumnos) n
( σ nombreA=‘’Dibujo’
π Nmat
(Asignaturas) * Alumnos) ∩
Nmat (
17 Ejemplo 1 n Obtener los alumnos que figuren matriculados en todas las asignaturas
Obtener los alumnos que figuren matriculados en las asignaturas de Inglés y Dibujo π
18 Ejemplo 1 n
2002 © P.P. Alarcón Bases de Datos
0338 Nmat
(Asignaturas))) Ana Pérez Gómez Nombre Apellidos
÷÷ π codA
Nmat,codA (Notas)
(Alumnos * ( π
(Asignaturas) Ó π nombre, apellidos ,
(Notas) ÷÷ π codA
π Nmat,codA
0338 0254 Nmat