Professional Documents
Culture Documents
El modelo de datos usado en las bases de datos relacionales est basado en una estructura lgica bien definida llamada ALGEBRA RELACIONAL. Es una lista de relaciones y atributos junto con la descripcin de la existencia de restricciones.
Algebra Relacional
Es un mtodo para operar sobre relaciones. Relaciones = conjunto de registros con cada registro siendo descrito en trminos de campos clave o atributos. La liga entre un registro y uno de sus atributos puede asimismo considerarse como una relacin elemental.
Algebra Relacional
Cuando dos relaciones comparten un atributo, existe una dependencia funcional o relacin entre ellos.
Empleado (NumEmp, Depto, Nombre,...) Reporte (Depto, Fecha, Asunto,...)
Esta relacin tienen el atributo Depto en comn. Su dependencia puede expresarse 1 a N. Un departamento puede estar en varios reportes.
Algebra Relacional
El periodo de vacaciones representa una relacin 1 a 1. Cada trabajador tiene una cantidad de tiempo de vacaciones acumulado.
Empleado (NumEmp, Depto, Nombre,...) Vacaciones (NumEmp, DasAcumulados,...)
Algebra Relacional
Existen cinco operaciones fundamentales del lgebra relacional:
Seleccin Proyeccin Producto Unin Diferencia
Adicionalmente la operacin Unir (Join) puede definirse en trminos del producto cartesiano y las operaciones de seleccin.
Algebra Relacional
Las operaciones Seleccin y Proyeccin son operaciones unarias ya que operan sobre una relacin. Las otras tres relaciones operan sobre pares de relaciones y por lo tanto se llaman operaciones binarias. La operacin Join puede utilizarse sobre dos o ms tablas.
Algebra Relacional
Seleccin: involucra tomar una tabla y seleccionar los renglones que satisfacen un predicado.
Nombre NumCliente Direccin G. De Len 450 Ciudad Morelia
Santa Luca
Telmex
234
343
El operador seleccin toma una tabla y el predicado en este caso Ciudad=Morelia como entrada y regresa otra tabla como salida.
Algebra Relacional
Proyeccin: remueve ciertas columnas de una tabla. Por ejemplo, se puede suprimir la columna direccin.
Nombre Santa Luca Telmex NumCliente 234 343 Ciudad Morelia Morelia
El operador proyeccin toma una tabla y un conjunto de nombres de campos como entrada y regresa otra tabla como salida, que contiene el mismo nmero de renglones pero menos columnas.
Algebra Relacional
Producto: multiplica dos tablas de tal manera que si una tabla tiene N renglones e I columnas y la otra tiene M renglones y J columnas, la tabla producto contiene (N*M) renglones con I+J columnas.
Tomemos el producto de las siguientes tablas:
Dir. Cte Nombre Santa Luca Telmex Crdito Cte NumCliente 234 343 Ciudad Morelia Morelia
Nombre
Santa Luca Telmex
Crdito
Bueno Promedio
Algebra Relacional
Obtendremos una tabla con 2 x 2 = 4 renglones donde las primeras tres columnas son de la primera tabla y las otras dos de la segunda Se tiene que ejecutar un proceso de depuracin usando la proyeccin para eliminar columnas y renglones innecesarios.
Nombre Telmex NumCliente Ciudad 343 Nombre Crdito
Morelia Santa Luca Bueno Morelia Santa Luca Bueno Morelia Telmex Promedio
Telmex
343
Morelia Telmex
Promedio
Algebra Relacional
Unin y Diferencia: la unin de dos tablas con N y M renglones respectivamente, se obtiene de concatenarlas dentro de una tabla con un total de N+M renglones. La unin generalmente tendr sentido solamente si los esquemas de las dos tablas concuerdan, esto es si tienen el mismo nmero de campos con atributos que encajan en cada campo. El operador diferencia puede usarse para encontrar registros que estn en una relacin pero no en la otra. La diferencia entra A y B se denota A-B. Como un ejemplo de diferencia podremos encontrar todos los nombres de partes en la tabla composicin del producto que son partes del cinturn de seguridad pero no del adaptador especificando la siguiente consulta:
Project NombreParte((Select Producto = cinturon(composicion)) (Select Product = adaptador(composicion)))
Algebra Relacional
Producto Cinturon Cinturon Cinturon Cinturon Adaptador Adaptador Adaptador Nombre Parte NumParte Cantidad Palanca Sprocket Engrane Resorte Pulley Remache Resorte 2021 2197 2876 2346 2477 2498 2346 2477 2021 2655 2498 9876 9801 9701 1 3 4 6 5 21 5 3 3 3 12 1 4 4
transformador Pulley transformador Palanca transformador Cam transformador Remache Procesador Procesador Procesador Cpul Chip 8k Led
Algebra Relacional
El resultado de esta consulta es:
Nombre Parte
Palanca Sprocket Engrane
Se pueden definir ms operadores para simplificar el proceso. Interseccin que es expresada por el uso de las diferencias y las uniones. La interseccin entre dos relaciones A y B pueden expresarse como A-(A-B) y contiene todos los registros de A que estn tambin en B.
Algebra Relacional
Join: el operador unir (join) nos permite unir varias tablas. Aunque este operador no es uno de los cinco operadores relacionales bsicos, puede ser muy til. Dadas dos tablas A y B el operador unir nos permite aplicarle a una un predicado para todos los renglones que estn formados del resultado de concatenar los renglones de A y B. Son regresados aquellos renglones que satisfacen el predicado.