You are on page 1of 14

Lenguajes de Manipulacin de datos relacionales

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

Loma Escondida 23 Morelia

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

Santa Luca 234 Santa Luca 234

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.

You might also like