Álgebra Relacional
Consiste de algunas simples pero poderosas maneras de construir nuevas relaciones a partir de otras.
Es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación.
Presenta la manera de hacer consultas a una base de datos empleando algunos conceptos matemáticos aplicados a un esquema relacional.
Es un lenguaje, que define una serie de operaciones, que se realizan utilizando "operadores", cada uno de los cuales puede trabajar sobre uno o varios conjuntos de datos produciendo como resultado un nuevo conjunto de datos.
OPERACIONES BÁSICAS
PRODUCTO (X)
Opera sobre dos tablas, efectuando un producto cartesiano del contenido de las mismas, no siendo necesario que ambas posean la misma estructura, y devolviendo una nueva tabla cuyo contenido es todas las posibles combinaciones de las filas de una de ambas tablas.
SELECT * FROM A, B
PROYECCIÓN (π)
Opera sobre una o más tablas, no siendo necesario que éstas posean la misma estructura, y devolviendo una nueva tabla cuyo contenido es todas las filas de las tablas indicadas que satisfacen una cierta condición, tal como sucede con la selección, sólo que la proyección permite indicar cuáles columnas se desea obtener en el resultado.
SELECT X, Z FROM A WHERE X<50
SELECCIÓN (σ)
Opera sobre una o más tablas, no siendo necesario que éstas posean la misma estructura, y devolviendo una nueva tabla cuyo contenido es todas las filas de las tablas indicadas que satisfacen una cierta condición.
SELECT * FROM A WHERE X<50
DIFERENCIA (-)
Opera sobre dos tablas, siendo necesario que ambas posean la misma estructura, devolviendo una nueva tabla cuyo contenido es las filas que figuran en la primer tabla y no en la otra.
SELECT * FROM A EXCEPT SELECT * FROM B
UNIÓN (U)
Opera sobre dos o más tablas, siendo necesario que todas posean la misma estructura, devolviendo una nueva tabla cuyo contenido es la combinación de los contenidos de todas y cada una de las tablas originales, descartando las filas repetidas.
SELECT * FROM A UNION SELECT * FROM B