ALGEBRA RELACIONAL


DINÁMICA DEL MODELO RELACIONAL: ÁLGEBRA RELACIONAL

Hasta ahora hemos visto la estructura y restricciones del modelo relacional. Es lo que se llama la componente estática de dicho modelo. También lleva asociada una parte dinámica que permite la transformación de un estado origen a un estado final de la base de datos. Esta transformación se realiza aplicando un conjunto de operadores mediante los cuales se podrán realizar operaciones de inserción, borrado, modificación y consulta de filas o tuplas.

Operaciones básicas sobre las tablas

vamos a estudiar diferentes tipos de operaciones de consulta que se pueden realizar con las tablas. Estas operaciones están basadas en el álgebra relacional. Los operandos de cada operación los constituyen una o varias tablas, y el resultado es otra tabla. Esta tabla resultante puede ser a su vez operando en otra operación.
Existen dos tipos de operaciones sobre tablas: básicas y derivadas. Las operaciones básicas se dividen en unarias y binarias. En las operaciones unarias se utiliza una tabla de entrada para obtener el resultado mientras que en las binarias se emplean dos tablas.
Las operaciones derivadas se componen de varias operaciones básicas.


Operaciones básicas UNARIAS: Selección à Esta operación obtiene un subconjunto de filas de una tabla con todas sus columnas. Se pueden seleccionar determinadas filas, incluyendo en la operación una condición. En  dicha condición se pueden utilizar los operadores booleanos (Y (AND) O (OR) NO (NOT)) para expresar varios criterios. Se representa de la siguiente forma:







Ejemplo: partimos de una tabla de empleados que tiene las siguientes columnas. Se quiere obtener aquellas filas cuyo departamento es el 20.

Nº Empleado
Apellido
Salario
Comisión
Nº Depart.
Jefe





A partir de la tabla empleados, seleccionar aquellas filas cuyo jefe se corresponde con el número 7839 y el departamento es el 30.







 Proyecciónà Esta operación da como resultado una nueva tabla a partir de otra con el subconjunto de columnas indicando las filas duplicadas que solo aparezcan una vez.
La proyección se representa de la siguiente manera:






Operaciones básicas BINARIAS:  1) Unión à Dos tablas se pueden unir si tienen el mismo número de columnas y dominios compatibles. El resultado de la unión es otra tabla con las filas de ambas tablas. Las filas repetidas aparecen una sola vez. La unión de dos tablas se representa de la siguiente manera:

Tabla1  U  Tabla2


Ejemplo. Obtener la unión de las tablas empleado1 y empleado2.


            Empleado1                             Empleado 2

Nº Empleado   Nombre                   Nº Empleado  Nombre
1001                Rosa                           2001                Pilar
1005                Fernando                    2010                Octavio
                                                           1005                Fernando


Empleado1  U  Empleado2

Nº Empleado             Nombre
1001                            Rosa
1005                            Fernando
2001                            Pilar
2010                            Octavio


2) Diferencia: la diferencia entre dos tablas sólo es posible si tienen el mismo número de columnas y dominios compatibles. El resultado es otra tabla con las filas pertenecientes a la primera tabla y no pertenecientes a la segunda tabla. Se representa: Tabla1 – Tabla2.

Empleado1 – Empleado2                  Empleado2 – Empleado1

Nº Empl          Nombre                      Nº Empl          Nombre
1001                Rosa                           2001                Rosa

3) Producto cartesiano: se puede realizar entre dos tablas que tengan diferente número de columnas. El resultado es otra tabla que contendrá la suma de columnas de ambas tablas y el conjunto formado por todas las filas de ambas tablas. No pueden existir columnas con el mismo nombre. El producto se representa de ese modo: Tabla1 X Tabla2.

VENTAS                                           ARTÍCULOS
Código      Fecha    Cantidad            Código    Denominación  Existencias  PVP
5100   18/11/05    100                       5100         Patatas                   500         3,2
5200   19/11/05     120                       5200         Cebollas                250         4,1
5100   19/11/05      45

VENTAS X ARTICULOS
Cod       Fecha     Cantidad   Código   Denominación   Existencias   PVP
5100   18/11/05      100         5100        Patatas                  500            3,2
5100    18/11/05     100          5200       Cebollas                250            4,1
5200    19/11/05     120          5100       Patatas                  500            3,2
5200    19/11/05     120          5200       Cebollas                250            4,1
5100    19/11/05     45                        5100       Patatas                  500            3,2
5100    19/11/05     45            5200       Cebollas                250            4,1

Una fila con todas las filas de la otra tabla


Operaciones derivadas: 1) Intersección à es una operación derivada de la diferencia. La intersección de dos tablas es otra tabla formada por las filas que aparecen en ambas tablas y las columnas de una de las tablas. Al igual que en la diferencia, las tablas han de tener el mismo numero de columnas y dominios compatibles. La intersección se representa de la siguiente manera.

Ej. Hallar la intersección entre

2) Cociente o división: el cociente se realiza entre dos tablas con diferentes columnas que cumplen las siguientes condiciones: TABLA1 debe tener columnas de TABLA2 y el número de columnas ha de ser mayor que el de TABLA2. TABLA2 debe tener al menos una fila. Se puede expresar en función de la proyección del producto cartesiano y de la diferencia de la siguiente forma.

Ej. Tenemos una tabla LIBROS con las siguientes columnas (asignatura, título y autor).
LIBROS
            Asig             Título                            Autor
         Dum-1     Los 3 mosqueteros             Dumas
         Per-1       El capitán Alatriste              P. Reverte         
         Dum-2     El conde de Montecristo     Dumas

AUTORES

 Autor
Dumas

Asig        Titulo
Dum-1     Los 3 mosqueteros
Dum-2     El conde de Montecristo 

Esta última tabla es el conjunto de todas las filas de Tabla1 (Libros) que contengan a la fila de Tabla2 (Autores) y incluyendo la columna de Tabla2.

3) Combinación o join: con esta operación se obtiene el producto cartesiano de dos tablas cuyas filas cumplen una condición determinada. La combinación de dos tablas con respecto a una condición de combinación es otra tabla constituida por pares de filas de ambas tablas concatenadas tales que en cada par, las correspondientes filas satisfacen la condición. Se representa del siguiente modo, con el asterisco (Tb. con el símbolo se infinito) à (Tabla1 * Tabla2) Condición

1 comentario: