En la teoría de bases de datos, el álgebra relacional es una teoría que utiliza estructuras algebraicas con una semántica bien fundamentada para modelar datos y definir consultas sobre ellos.
El propósito principal del álgebra relacional es definir operadores que transformen una o más relaciones de entrada en una relación de salida.
Dado que estos operadores aceptan relaciones como entrada y producen relaciones como salida, pueden combinarse y usarse para expresar consultas potencialmente complejas que transforman potencialmente muchas relaciones de entrada (cuyos datos se almacenan en la base de datos) en una sola relación de salida (los resultados de la consulta) .
Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, se usa para obtener una versión mejor y más eficiente de dicha consulta.
Una unión es compatible entre dos relaciones R, S, si ellas poseen el mismo grado y el dominio del i-ésimo elemento de la relación R es el mismo que el i-ésimo elemento de la relación S. Número de atributos.
Las operaciones básicas del álgebra relacional son: Permite seleccionar un subconjunto de tuplas de una relación (R), todas aquellas que cumplan la(s) condición(es) P, esto es: Ejemplo: Selecciona todas las tuplas que contengan Gómez como apellido en la relación Alumnos.
Ejemplo: Selecciona los atributos Apellido, Semestre y NumeroControl de la relación Alumnos, mostrados como un subconjunto de la relación Alumnos.
R y S deben ser uniones compatibles.
Estas operaciones son fundamentales en el sentido en que (1) todas las demás operaciones pueden ser expresadas como una combinación de éstas y (2) ninguna de estas operaciones pueden ser omitidas sin que con ello se pierda información.
La operación unión natural en el álgebra relacional es la que permite reconstruir las tablas originales previas al proceso de normalización.
Consiste en combinar las proyección, selección y producto cartesiano en una sola operación, donde la condición
Una reunión theta ( θ-Join) de dos relaciones es equivalente a: donde la condición
El operador división A / B retorna todos los valores de x tales que para todo valor y en B existe una tupla
La combinación realizará un producto cartesiano, es decir, para cada tupla de alumnos (todas las filas de alumnos) hará una mezcla con cada una tupla de apoderados y seleccionará aquellas nuevas tuplas en que alumnos.id sea igual a apoderados.id_alumno, esto es: Por tanto, el resultado final de la combinación es: Ahora, aquí debemos mostrar solo el nombre del alumno y el nombre del apoderado, esto lo hacemos con un Proyect o Proyección, donde la tabla final sería: Resumiendo en un solo paso:
e s u l t a d o
n s c r i t o .
e s u l t a d o
Alumnos La tabla de este nuevo resultado sería: Finalmente con una Proyección mostraremos el nombre del alumno y el curso inscrito:
e s u l t a d o 2.
e s u l t a d o 2.
e s u l t a d o 2.
e s u l t a d o 2.
e s u l t a d o 1.
e s u l t a d o 1.
e s u l t a d o 1.
Lo que nos entregaría la tabla: Y la expresión completa sería:
e s u l t a d o 1.
e s u l t a d o 1.
e s u l t a d o 1.
n s c r i t o .