Álgebra Relacional: Operaciones Básicas y Derivadas
Operadores del Álgebra Relacional
Cada operador del álgebra relacional acepta una o dos relaciones como entrada y retorna una nueva relación como resultado. Los operadores σ (selección) y Π (proyección) son unarios, mientras que el resto son binarios.
Operaciones Básicas
Selección (σ)
Permite seleccionar un subconjunto de tuplas de una relación (R) que cumplan una condición (P): σP(R)
.
Proyección (Π)
Permite extraer columnas (atributos) de una relación: ΠA1, A2, ..., An(R)
.
Producto Cartesiano (x)
Combina todas las tuplas de una relación (R) con cada una de las tuplas de otra relación (S): R x S
.
Unión (∪)
Retorna el conjunto de tuplas que están en R, o en S, o en ambas: R ∪ S
. R y S deben ser uniones compatibles.
Diferencia (-)
Entrega todas las tuplas que están en R, pero no en S: R - S
. R y S deben ser uniones compatibles.
Operaciones Derivadas
Intersección (∩)
Se define en función de la diferencia: R ∩ S = R - (R - S)
. Representa las tuplas presentes en ambas relaciones.
Unión Natural (⋈)
Combina proyección, selección y producto cartesiano para reconstruir tablas. La condición es la igualdad entre la clave primaria y la clave externa: R ⋈ S
.
Reunión Theta (θ-Join)
Equivalente a una selección sobre el producto cartesiano: R ⋈θ S
. Si θ es una igualdad, se denomina EquiJoin.
División (/)
Dados A(x, y) y B(y), A / B
retorna los valores de x presentes en A para todos los valores de y en B.
Agrupación (Ģ)
Permite agrupar tuplas y aplicar funciones de agregación: Ģ sum(puntos) as Total Equipo (PARTIDOS)
.
Álgebra Relacional Extendida
Proyección Generalizada
Extiende la proyección permitiendo funciones aritméticas: Πfunciones(relación)
.
Funciones de Agregación
Toman una colección de valores y retornan un valor resumen: G función(argumento)(relación)
. Ejemplos: sum, avg, count, min, max.
Reunión Externa
Maneja la información ausente.
- Reunión Natural (⋈): Genera una relación con toda la información.
- Reunión Externa Izquierda (⟕): Incluye todas las tuplas de la relación izquierda, rellenando con nulos si no hay coincidencia en la derecha.
- Reunión Externa Derecha (⟖): Incluye todas las tuplas de la relación derecha, rellenando con nulos si no hay coincidencia en la izquierda.
- Reunión Externa Completa (⟗): Combina la izquierda y la derecha.
Tratamiento de Valores Nulos
Los valores nulos representan información desconocida o no existente. Se deben evitar en operaciones y comparaciones.
Operaciones Aritméticas
Cualquier operación aritmética con nulos devuelve nulo.
Comparaciones
Las comparaciones con nulos resultan en un valor desconocido.
Selección, Proyección, Unión, Intersección, Diferencia
El tratamiento de nulos en estas operaciones puede ser arbitrario.
Reunión
En una reunión natural, las tuplas con nulos en el atributo común no coinciden.
Proyección Generalizada
Los nulos se tratan como en cualquier expresión.
Funciones de Agregación
Se eliminan los nulos antes de aplicar la función.
Reunión Externa
Se comporta como la reunión, pero rellena con nulos las tuplas sin coincidencia.
Modificaciones de la Base de Datos
Borrado
Se eliminan tuplas completas: r := r - E
, donde E es una consulta.
Inserción
Se agrega una tupla o el resultado de una consulta: r := r ∪ E
.
Actualización
Se modifican valores específicos de una tupla: r := ΠF1, F2, ..., Fn(σP(r)) ∪ (r - σP(r))
.