You are on page 1of 25

Algebra Relacional

Dra. Amparo L opez Gaona

Posgrado en Ciencia e Ingenier a de la Computaci on Fac. Ciencias, UNAM

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Algebra relacional
Conjunto de operaciones usadas para manipular relaciones. Estas operaciones toman relaciones como operandos y regresan relaciones que a su vez pueden ser manipuladas. MR es cerrado. Los operadores: Uni on, diferencia, intersecci on. Con el signicado usual en conjuntos, aplicado a relaciones. Selecci on. Selecciona ciertas tuplas de una relaci on. Proyecci on. Selecciona ciertas columnas de una relaci on. Productos y joins. Composici on de relaciones. Renombrado de relaciones y atributos.

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Selecci on
Notaci on: predicado (R ) Selecciona tuplas que satisfacen un predicado dado. Predicado: Operadores: (>, <, >=, <=, =, <>, , , ) Operandos: atributos o constantes. A B C D a a 1 7 Relaci on R: a b 5 7 b b 12 3 b b 23 10 A=B D >5 (R ) A a b B a b C 1 23 D 7 10

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Proyecci on
Notaci on: lista
de atributos (R )

Es una tabla obtenida de R al eliminar los atributos no-especicados. En la tabla resultante aparecen los atributos en el mismo orden que en la lista. Los renglones duplicados se eliminan. A B C D a a 1 7 Relaci on R: a b 5 7 b b 12 3 b b 23 10 A a b b D 7 3 10
Algebra Relacional

A,D (R )

Dra. Amparo L opez Gaona ()

Posgrado en Ciencia e Ingenier a de la Compu /1

Uni on
Notaci on: R S Es la tabla que contiene las tuplas de la primera relaci on adem as de las tuplas de la segunda relaci on. Al adaptar los operadores de conjuntos a relaciones se debe asegurar que exista compatibilidad entre ellas.
Tienen el mismo grado. Los atributos tienen el mismo nombre. El dominio del atributo-i de R es el mismo que el dominio del atributo-i en S , i

A a Relaci on R: a b

B A 1 S: a 2 b 1

B 2 3

A a R S a b b

B 1 2 1 3

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Diferencia
Notaci on: R S Crea una tabla con las tuplas que est an en la relaci on R pero no en S. Operaci on v alida A a Relaci on R: a b A R S a b B 1 1 entre relaciones compatibles. B A B 1 S: a 2 2 b 3 1

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Producto Cartesiano
Notaci on: R S Permite combinar informaci on de cualquier par de relaciones. R S = {tq |t r and q s }. Si R y S tienen atributos en com un es necesario renombrarlos. Para evitar ambig uedades se precede el nombre del atributo con el nombre de la relaci on.
A Relaci on R: 1 3 A 1 1 1 3 3 3 R.B 2 2 2 4 4 4 B 2 S: 4 S.B 2 4 9 2 4 9 B C D 2 5 6 4 7 8 9 10 11 C D 5 6 7 8 10 11 5 6 7 8 10 11
Algebra Relacional

R S

Dra. Amparo L opez Gaona ()

Posgrado en Ciencia e Ingenier a de la Compu /1

Join natural
Notaci on: R S R (X1 , X2 , ...Xm , Y1 , Y2 , ..., Yn ) S (Y1 , Y2 , ..., Yn , Z1 , Z2 , ..., Zp ) Relaci on con atributos X, Y, Z y poblado por el conjunto de tuplas que tienen igual valor de Y en R y en S. R S (R .Y1 =S .Y1 R .Y2 =S .Y2 ...R .Yn =S .Yn (R S )) B C 2 5 S 4 7 9 10 Si las relaciones R y S no entonces A B A B A R 1 3 B 2 4 D A B C D 6 = 1 2 5 6 8 3 4 7 8 11 tienen nombres de atributos en com un

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Theta Join
Notaci on: R S Equivalente al Join s olo que se permite usar cualquier condici on de comparaci on. (). El resultado se construye:
Toma el R S Selecciona s olo las tuplas que satisfacen

A B 1 2 R 6 7 9 7 A R.B 1 2 1 2 1 2 6 7 9 7

C 3 8 8 R.C 3 3 3 8 8

B 2 A<D S 2 7 S.B S.C 2 3 2 3 7 8 7 8 7 8

C 3 3 8 D 4 5 10 10 10

D 4 = 5 10

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Intersecci on
Notaci on: R S = R (R S ) Relaci on con las tuplas que est an en R y en S tambi en. Operaci on v alida A a Relaci on R: a b R S A a B 2 entre relaciones compatibles. B A B 1 S: a 2 2 b 3 1

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Renombrado
Notaci on: x (E ) x (A1 ,A2 ,...,An ) (E ) Asigna nombre a nueva relaci on. A Relaci on R: 1 3 w w ,x ,y ,z (R ) 1 3 la relaci on y/o a los atributos. No se obtiene una B 2 4 x 2 4 C 5 7 y 5 7 D 6 8 z 6 8

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Combinaci on de operadores
Algebra =
1 2

Argumentos b asicos + Formas de construcci on de expresiones. Los argumentos son las variables que representan las relaciones + tuplas constantes. Las expresiones se construyen aplicando los operadores y par entesis si se requieren. Consulta es una expresi on del algebra relacional.

Para el algebra relacional:


1

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Esquema de la Base de Datos


Cuenta (nombreSucursal, numCta, saldo) Sucursal (nombreSucursal, ciudad, activos) Cliente (nombreCliente, calle, ciudad) CtaCliente (nombreCliente, numCta) Prestamo (nombreSucursal, numPrestamo, importe) Prestatario (nombreCliente, numPrestamo)

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Ejemplos de consultas
1

Encontrar la informaci on de todos los pr estamos realizados en la sucursal llamada Fuentes Brotantes. nombreSucursal =FuentesBrotantes (Prestamo ) Determinar el nombre de los clientes que viven en Guanajuato. nombreCliente (ciudad =Guanajuato (Cliente )) Nombre de los clientes del banco que tienen una cuenta, un pr estamo o ambas cosas. a) nombreCliente (Prestatario ) b) nombreCliente (CtaCliente ) La respuesta es: nombreCliente (ctaCliente ) nombreCliente (Prestatario ) Relaci on de clientes que tienen abierta una cuenta pero no tienen ninguna de pr estamo. nombreCliente (CtaCliente ) nombreCliente (Prestatario ) Todos los clientes que tienen un pr estamo y una cuenta abierta. nombreCliente (Prestatario ) nombreCliente (CtaCliente ) nombreCliente (Prestatario CtaCliente )
Algebra Relacional

Dra. Amparo L opez Gaona ()

Posgrado en Ciencia e Ingenier a de la Compu /1

... Ejemplos de consultas


1

Nombre de los clientes que tienen un pr estamo en la sucursal de Fuentes Brotantes. nombreCliente (Prestatario .numPrestamo =Prestamo .numPrestamo (nombreSucursal =FuentesBrotantes (Prestatario Prestamo ))) Nombre de los clientes que tienen un pr estamo y el importe del mismo. nombreCliente ,importe (Prestatario Prestamo ) Nombre de los clientes con pr estamo mayor a cinco mil pesos. nombreCliente (importe >5000 (Prestamo Prestatario )) Nombre de los clientes que tienen una cuenta con saldo menor a $3,000 y que no tienen pr estamo. nombreCliente (CtaCliente (importe <3000 (Cuenta)) nombreCliente (Prestatario )

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Operaciones de Actualizaci on (Borrado)


R R e con e = Una tupla constante especicada Resultado de una consulta en algebra relacional. Restricciones: Tupla con el mismo grado que la R y con valores en los dominios adecuados.
1

Borrar los pr estamos con importe entre 0 y 8000 pesos. R1 importe 0importe 8000 (Prestamo ) Prestamo Prestamo R1 Prestatario Prestatario nombreCliente ,numPrestamo (Prestatario R1 ) Borrar las cuentas de Guanajuato. r1 ciudad =Guanajuato (Cuenta Sucursal ) r2 nombreSucursal ,numCta,saldo (r1 ) Cuenta Cuenta r2
Algebra Relacional

Dra. Amparo L opez Gaona ()

Posgrado en Ciencia e Ingenier a de la Compu /1

Operaciones de Actualizaci on (Inserci on)


R R e con e = Una tupla constante especicada Resultado de una consulta en algebra relacional. Restricciones: Tupla con el mismo grado que la R y con valores en los dominios adecuados.
1

Insertar a P erez con $240,000 en la cuenta 973 de Cuernavaca Cuenta Cuenta {(Cuernavaca, 973, 240000)} CtaCliente CtaCliente {(Perez , 973)} Cliente Cliente {(Perez , Bugambilias , Cuernavaca)} Ofrecer un pr estamo de $40,000 a todos los clientes de Tijuana que tienen una cuenta en el banco. El n umero de la cta es el del pr estamo. r1 (ciudad =Tijuana (Cliente CtaCliente ) Cuenta) r2 nombreSucursal ,numCta (r1 ) Prestamo Prestamo (r2 {40000}) Prestatario Prestatario nombreCliente ,numPrestamo (r1 )
Algebra Relacional

Dra. Amparo L opez Gaona ()

Posgrado en Ciencia e Ingenier a de la Compu /1

Operaciones de Actualizaci on (Actualizaci on)


Borrado + Inserci on.
1

Disminuir al saldo de la cuenta C973 de P erez el 10 % . r1 numCta=C 973 (Cuenta) Cuenta Cuenta r1 r2 saldo 1,10 (r1 ) Cuenta Cuenta {(Cuernavaca, C 973) r2 )} Aumentar todos los saldos en un 5 % . Cuenta nombreSucursal ,numCta,saldo 1,05 (Cuenta) Disminuir 6 % a las cuentas con saldo mayor que 20000 y a las dem as 5 %. r1 nombreSucursal ,numCta,saldo 1,06 (saldo >20000 (Cuenta)) r2 nombreSucursal ,numCta,saldo 1,05 (saldo 20000 (Cuenta)) Cuenta r1 r2

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Funciones de Agregaci on
Permiten combinar tuplas de una relaci on para producir un valor agregado. Las m as comunes son: sum, avg, count, min, max. Ejemplo: sumatributo (R ) crea una relaci on con un u nico atributo que es la suma de los valores de atributo en la relaci on R.

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Algebra relacional como lenguaje para denir restricciones


El tercer aspecto importante de un MD es la habilidad de restringir los datos almacenados en la BD. Formas en algebra relacional para expresar restricciones: Sea R una expresi on en algebra relacional(AR), entonces R = es una restricci on que dice no hay tuplas en el resultado de R. Si R y S son expresiones en AR, entonces R S . Ambas expresiones son equivalentes: R S es equivalente a R S = . R = puede escribirse como R S

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Restricciones de integridad referencial


Aseguran que un valor que aparece en un contexto tambi en aparece en otro contexto relacionado. En general, si un valor v para un atributo A de alguna tupla en una relaci on R , entonces se espera que v tambi en aparezca en un atributo B de alguna tupla de otra relaci on S . En algebra se expresa como A (R ) B (s ) o de manera equivalente A (R ) B (s ) = 0 .

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

... Restricciones de integridad referencial


Ejemplos:
Departamento(nombre, numDepto, CURPJefe, fechaIngresoJefe) Proyecto(nombre, claveProy, ubicacionP, claveDepto)

Es v alido suponer que la clave de departamento en el proyecto sea la de uno existente. Esta restricci on se expresa en algebra como: claveDepto (Proyecto ) numDepto (Departamento )

TrabajaEn(tituloPeli, anioPeli, trabajador) Pelicula(titulo, anio, duracion, genero, nombreEstudio, CURPProd Se desea asegurar que cada pel cula mencionada en la primera relaci on tambi en aparezca en la segunda. tituloPeli ,anioPeli (TrabajaEn) titulo ,anio (Pelicula)

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Restricciones de llave
Departamento(nombre, numDepto, CURPJefe, fechaIngresoJefe) -------Signica que no hay dos departamentos con el mismo n umero. D 1 D 1 (Departamento ) D 2 D 2 (Departamento ) D 1.numDepto =D 2.numDepto AND D 1.nombre =D 2.nombre (D 1 D 2) =

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Restricciones de dominio
Se desea restringir el valor de sexo pra los empleados: sexo = F
AND sexo = M

(Empleado ) =

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

Otras restricciones
Se desea restringir el sueldo de un ejecutivo a ser m nimo $100,000.00 Ejecutivo(nombre, direccion, CURP, ganancias) Estudio(nombre, direccion, CURPPres) ganancias <100000 (Estudio O de manera equivalente CURPres (Estudio ) CURP (ganancias 100000 (Ejecutivo ))
CURP =CURPres

Ejecutivo ) =

Dra. Amparo L opez Gaona ()

Algebra Relacional

Posgrado en Ciencia e Ingenier a de la Compu /1

You might also like