Algebra Relacional PDF
Algebra Relacional PDF
Algebra Relacional PDF
Algebra Relacional
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.
Algebra Relacional
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
Algebra Relacional
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 )
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
Algebra Relacional
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
Algebra Relacional
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
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
Algebra Relacional
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
C 3 3 8 D 4 5 10 10 10
D 4 = 5 10
Algebra Relacional
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
Algebra Relacional
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
Algebra Relacional
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.
Algebra Relacional
Algebra Relacional
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
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 )
Algebra Relacional
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
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
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
Algebra Relacional
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.
Algebra Relacional
Algebra Relacional
Algebra Relacional
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)
Algebra Relacional
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) =
Algebra Relacional
Restricciones de dominio
Se desea restringir el valor de sexo pra los empleados: sexo = F
AND sexo = M
(Empleado ) =
Algebra Relacional
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 ) =
Algebra Relacional