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.
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.
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
Gracias me sirvio de mucha ayuda \O/
ResponderEliminar