Tabla de Contenidos
Álgebra Relacional
Definición
El álgebra relacional es un conjunto de operaciones que pueden ser aplicadas sobre tablas relacionales y definen un pequeño lenguaje de manipulación de datos que permite a los usuarios llevar a cabo tareas de consulta o manipulación de los datos.
Sirve para crear una relación o tabla a partir de una o varias relaciones utilizando para ello operadores relacionales. La nueva relación o tabla de salida contendrá solamente la información que hemos demandado a través de operadores del álgebra relacional.
Los operadores se dividen en dos grupos: algebraicos o booleanos, y relacionales.
Operadores algebraicos o booleanos
Para aplicar las operaciones de Unión, Intersección y diferencia, los esquemas de la relación deben ser compatibles, es decir, deben tener el mismo número de atributos y los dominios de los atributos de las relaciones deben coincidir uno a uno. Para el producto cartesiano los esquemas no tienen por qué ser compatibles.
- Unión (U): La relación resultante está compuesta por cada una de las tuplas de las relaciones de origen. En la relación resultante no aparecen tuplas repetidas.
- Intersección (∩): La relación resultante está compuesta por las tuplas que aparecen en las dos relaciones de origen.
- Diferencia: Los que están en la primera relación y no estén en la segunda.
- Producto cartesiano (x): La relación resultante se formará por el producto de cada una de las tuplas de la primera relación por todas las tuplas de la segunda relación. Si coincide algún atributo en ambas relaciones, se pondrá delante del atributo, el nombre de la relación correspondiente.
Operadores relacionales
Los operadores relacionales pueden ser unarios o binarios. Es unario cuando se aplica sobre una relación o tabla y binario si se aplica sobre dos:
- Operadores Unarios:
- Selección (σ): Obtiene tuplas de una relación que cumplan una determinada condición.
- Proyección (Π): Obtener columnas de una relación. Automáticamente se eliminan las repeticiones del resultado obtenido.
- Operadores Binarios:
- Concatenación (
) (Natural Join): La concatenación equivale a un producto cartesiano más una selección. Se queda con aquellas tuplas que en los atributos comunes a ambas tablas toman el mismo valor. En la relación de salida los atributos comunes no aparecen duplicados. Cuando no hay atributos comunes en las tablas donde se realiza la concatenación equivaldría a un producto cartesiano. Una combinación de dos relaciones es equivalente a: R
F S = σF (R × S) - División (/): Para poder realizar la división, debe darse que los datos de la segunda relación tienen que estar incluidos como atributos en la primera relación.La cabecera de la relación resultante siempre será relación_1-Relación_2. Supongamos que tenemos dos relaciones R(x, y) y S(y) donde el dominio de y en R y S, es el mismo. Este operador retorna todos los valores de x tales que para todo valor y en S existe una tupla (x, y) en R.
