Álgebra relacional y equivalencia SQL
🧮 Álgebra relacional y su equivalencia SQL
Las operaciones del álgebra relacional son fundamentales para la optimización de consultas en los SGBD.
- Selección (σ): Selecciona tuplas (filas) basadas en una condición específica.
- Álgebra:
σ condicion (R) - SQL:
SELECT * FROM tabla WHERE condicion;
- Álgebra:
- Proyección (π): Selecciona columnas específicas, eliminando duplicados.
- Álgebra:
π columna1, columna2 (R) - SQL:
SELECT DISTINCT columna1, columna2 FROM tabla;
- Álgebra:
- Unión (U): Combina las filas de dos relaciones compatibles.
- Álgebra:
R ∪ S - SQL:
SELECT * FROM R UNION SELECT * FROM S;
- Álgebra:
- Intersección (∩): Devuelve únicamente los registros comunes a ambas relaciones.
- Álgebra:
R ∩ S - SQL:
SELECT * FROM R INTERSECT SELECT * FROM S;
- Álgebra:
- Diferencia (-): Devuelve filas en una relación pero no en otra.
- Álgebra:
R - S - SQL:
SELECT * FROM R EXCEPT SELECT * FROM S;
- Álgebra:
- Producto Cartesiano (x): Combina cada fila de una tabla con cada fila de otra.
- Álgebra:
R × S - SQL:
SELECT * FROM R, S;
- Álgebra:
- Renombre (ρ): Cambia el nombre de una relación o sus atributos.
- Álgebra:
ρ nuevo_nombre (R) - SQL:
SELECT columna1 AS nuevo_nombre FROM tabla;
- Álgebra:
- Join (⨝): Combina tablas relacionadas (especialización del producto cartesiano).
- Álgebra:
R ⨝ condicion S - SQL:
SELECT * FROM R JOIN S ON R.id = S.id; - Tipos de Join SQL:
- INNER JOIN: Devuelve únicamente las filas con coincidencia en ambas tablas.
- SQL:
SELECT * FROM Cliente C INNER JOIN Pedido P ON C.id = P.cliente_id;
- SQL:
- LEFT JOIN: Devuelve todas las filas de la tabla izquierda y las coincidencias de la derecha.
- SQL:
SELECT * FROM Cliente C LEFT JOIN Pedido P ON C.id = P.cliente_id;
- SQL:
- RIGHT JOIN: Devuelve todas las filas de la tabla derecha y las coincidencias de la izquierda.
- SQL:
SELECT * FROM Cliente C RIGHT JOIN Pedido P ON C.id = P.cliente_id;
- SQL:
- FULL OUTER JOIN: Devuelve todas las filas de ambas tablas, coincidan o no.
- SQL:
SELECT * FROM Cliente C FULL OUTER JOIN Pedido P ON C.id = P.cliente_id;
- SQL:
- CROSS JOIN: Devuelve el producto cartesiano de ambas tablas.
- SQL:
SELECT * FROM R CROSS JOIN S;
- SQL:
- SELF JOIN: Une una tabla consigo misma.
- SQL:
SELECT E.nombre, J.nombre FROM Empleado E JOIN Empleado J ON E.jefe_id = J.id;
- SQL:
- NATURAL JOIN: Une columnas con el mismo nombre.
- SQL:
SELECT * FROM R NATURAL JOIN S;
- SQL:
- INNER JOIN: Devuelve únicamente las filas con coincidencia en ambas tablas.
- Álgebra:
TAICord