Está en la página 1de 9

Asignatura de Bases de Datos

Tema 5
Algebra Relacional
Pedro Pablo Alarcn Cavero
Departamento de O.E.I.
Escuela Universitaria de Informtica
Universidad Politcnica de Madrid

lgebra Relacional
n Introduccin
n Lenguajes de acceso en BDR
n lgebra Relacional
n Lenguaje procedimental (se indica qu y cmo obtenerlo)
n Clculo Relacional
n Lenguaje no procedimental (se indica qu pero no cmo obtenerlo)
n Dos tipos
n Orientado a Tuplas
n Orientado a Dominios

n lgebra y Clculo Relacional son equivalentes en poder


expresivo
n Lenguajes de Usuario
n SQL (Structured Query Language), basado en lgebra relacional
n QBE (Query By Example), basado en clculo relacional
2002 P.P. Alarcn Bases de Datos 2

1
lgebra Relacional
n Definicin
n Conjunto cerrado de operaciones
n Actan sobre relaciones
n Producen relaciones como resultados
n Pueden combinarse para construir expresiones ms complejas

n Operadores Bsicos n Operadores Derivados


n Unin n Interseccin
n Diferencia n Join
n Producto Cartesiano n Divisin
n Seleccin n Asociacin
n Proyeccin
n Son operacionalmente completos, n No aaden nada nuevo
permiten expresar cualquier consulta a n Se forman combinando los operadores bsicos
una BDR n Son tiles en determinadas consultas

2002 P.P. Alarcn Bases de Datos 3

Unin
n R S
n La unin de dos relaciones R y S, es otra relacin que
contiene las tuplas que estn en R, o en S, o en ambas,
eliminndose las tuplas duplicadas
n R y S deben ser unin-compatible, es decir, definidas
sobre el mismo conjunto de atributos

Ingenieros Jefes Ingenieros 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 Mara 25 Mara 25
421 Jorge 48

2002 P.P. Alarcn Bases de Datos 4

2
Diferencia
n R-S
n La diferencia de dos relaciones R y S, es otra relacin
que contiene las tuplas que estn en la relacin R, pero
no estn en S
n R y S deben ser unin-compatible
Ingenieros - Jefes
Ingenieros Jefes E# Nombre Edad
E# Nombre Edad E# Nombre Edad 322 Rosa 37
320 Jos 34 320 Jos 34 Mara 25
322 Rosa 37 421 Jorge 48
323 Mara 25 Jefes - Ingenieros

E# Nombre Edad
421 Jorge 48

2002 P.P. Alarcn Bases de Datos 5

Producto Cartesiano
n RxS
n Define una relacin que es la concatenacin de cada
una de las filas de la relacin R con cada una de las
filas de la relacin S
Ingenieros X Proyectos
Ingenieros E# Nombre D# Proyecto Tiempo
E# Nombre D# 320 Jos D1 RX338A 21
320 Jos D1 PY254Z 32
320 Jos D1 322 Rosa D3 RX338A 21
322 Rosa D3 Departamentos Rosa D3 PY254Z 32

Proyectos
D# Descrip Ingenieros X Departamentos
D1 Central
Proyecto Tiempo E# Nombre D# DD Descrip
D3 I+D 320 Jos D1 D1 Central
RX338A 21 320 Jos D1 D3 I+D
PY254Z 32 322 Rosa D3 D1 Central
Rosa D3 D3 I+D

2002 P.P. Alarcn Bases de Datos 6

3
Seleccin
n predicado (R)
n Es un operador unario
n Define una relacin con los mimos atributos que R y
que contiene solo aquellas filas de R que satisfacen
la condicin especificada (predicado)

Ingenieros edad>=35 (Ingenieros) edad>=45 (Ingenieros)

E# Nombre Edad E# Nombre Edad E# Nombre Edad


320 Jos 34 322 Rosa 37
322 Rosa 37
323 Mara 25

2002 P.P. Alarcn Bases de Datos 7

Proyeccin
n col1, . . . , coln(R)
n Es un operador unario
n Define una relacin que contiene un subconjunto
vertical de R con los valores de los atributos
especificados, eliminando filas duplicadas en el
resultado

Ingenieros Nombre,Edad (Ingenieros) Nombre(Ingenieros)


E# Nombre Edad Nombre Edad Nombre
320 Jos 34 Jos 34 Jos
322 Rosa 37 Rosa 37 Rosa
Mara 25 Mara 25 Mara
Jos 29 Jos 29

2002 P.P. Alarcn Bases de Datos 8

4
Interseccin
n R S
n Define una relacin que contiene el conjunto de
todas las filas que estn tanto en la relacin R como
en S
n R y S deben ser unin-compatible
n Equivalencia con operadores bsicos
R S = R (R S)

Ingenieros Jefes Ingenieros


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
323 Mara 25

2002 P.P. Alarcn Bases de Datos 9

Divisin o Cociente
n R S
n Define una relacin sobre el conjunto de atributos C, incluido en la
relacin R, y que contiene el conjunto de valores de C, que en las
tuplas de R estn combinadas con cada una de las tuplas de S
n Condiciones
n grado(R) > grado (S)
n conjunto atributos de S conjunto de atributos de R
n Equivalencia con operadores bsicos
X1 = C(R); X2 = C((S X X1) R); X = X1 X2

R1 E# Proyecto R2 Proyecto R1 R2
320 RX338A RX338A
320 PY254Z E#
PY254Z 320
RX338A
323 NC168T 323
PY254Z
PY254Z
324 NC168T

2002 P.P. Alarcn Bases de Datos 10

5
Join
n Unin Natural (Natural Join)
n R S R*S
n El resultado es una relacin 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 operacin de join se realiza entre los atributos
comunes de dos tablas que corresponden a la clave primaria
de una tabla y la clave fornea correspondiente de la otra tabla
n Mtodo
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
n Equivalencia con operadores bsicos
R F S = F(R S)
2002 P.P. Alarcn Bases de Datos 11

Join
n Outer Join
n Es una variante del Join en la que se intenta mantener
toda la informacin 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

2002 P.P. Alarcn Bases de Datos 12

6
Join
R1 * LEFT R2
E# Nombre D# Descrip
R1 R2 320 Jos D1 Central
E# Nombre D# D# Descrip 322 Rosa D3 I+D
Mara D3 I+D
320 Jos D1 D1 Central Jos D5 null
322 Rosa D3 D3 I+D
Mara D3 D4 Ventas R1 * RIGHT R2
Jos D5 E# Nombre D# Descrip
Jos D1 Central
322 Rosa D3 I+D
Mara D3 I+D
R1 * R2 null null D4 Ventas
E# Nombre D# Descrip R1 * FULL R2
320 Jos D1 Central E# Nombre D# Descrip
322 Rosa D3 I+D 320 Jos D1 Central
Mara D3 I+D 322 Rosa D3 I+D
Mara D3 I+D
Jos D5 null
null null D4 Ventas
2002 P.P. Alarcn Bases de Datos 13

Asociacin
n Asociacin o Theta Join (-Join)
n R F S
R*FS
n Define una relacin 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.ai S.bi donde representa
un operador de comparacin (<, , >, , =, )
n El predicado no tiene por que definirse sobre atributos
comunes
n Equivalencia con operadores bsicos
R F S = F(R S)
n Equijoin
n Si el predicado F contiene nicamente el operador de igualdad

2002 P.P. Alarcn Bases de Datos 14

7
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 Ingls 18000 0168 2 Feb 02 3
Alumnos 0338 2 Feb 02 5
Nmat Nombre Apellidos Domicilio Telefono 0338 3 Jun 02 7

0338 Ana Prez Gmez C / Julio n 96 1112233 0254 1 Jun 02 6


0254 Rosa Lpez Lpez C/ Verano s/n 1113344 0168 1 Jun 02 9
0168 Juan Garca Garca C/ Playa n 1 1114455 0168 3 Jun 02 5

2002 P.P. Alarcn Bases de Datos 15

Ejemplo 1
n Obtener los apellidos y telfono de los alumnos de
nombre Rosa
apellidos, telefono (nombre=Rosa(Alumnos))

Apellidos Telefono
Lpez Lpez 1113344

n Obtener las notas obtenidas en la asignatura de Ingls


nombre, apellidos, nota (nombreA=Ingles(Alumnos*Notas*Asignaturas))

Nombre Apellidos Nota


Ana Prez Gmez 7
Juan Garca Garca 5

2002 P.P. Alarcn Bases de Datos 16

8
Ejemplo 1
n Obtener los alumnos que figuren matriculados en todas
las asignaturas
Nmat,codA (Notas) codA (Asignaturas)
Nmat
0338


nombre, apellidos , (Alumnos * (Nmat,codA (Notas) codA (Asignaturas)))

Nombre Apellidos
Ana Prez Gmez

2002 P.P. Alarcn Bases de Datos 17

Ejemplo 1
n Obtener los alumnos que figuren matriculados en las asignaturas de
Ingls y Dibujo
Nmat (nombreA=Ingles (Asignaturas) * Alumnos)
Nmat (nombreA=Dibujo (Asignaturas) * Alumnos)

Nmat
0338
0168

n Obtener los alumnos que no han suspendido ninguna asignatura


Nmat (nota>=5 (Notas)) - Nmat (nota<5 (Notas))

Nmat
0338
0254

2002 P.P. Alarcn Bases de Datos 18

También podría gustarte