Parte 03 — Modelo relacional y álgebra
La teoría que SQL implementa a medias: relaciones como conjuntos, operadores del álgebra, cálculo relacional e integridad declarada.
4 clases · 13 horas ·
19 conceptos · 8 fuentes
Antes de esta parte
Esta parte se apoya en lo trabajado antes. Si vienes de fuera del programa, revisa al menos el vocabulario de:
De qué trata esta parte
Esta parte da la teoría que SQL implementa a medias, y lo hace precisamente para que las diferencias entre teoría y lenguaje dejen de ser sorpresas. La relación de Codd es un conjunto: no tiene orden y no tiene duplicados. SQL trabaja con multiconjuntos ordenables. Conocer esa brecha explica de antemano por qué hace falta `DISTINCT`, por qué no se puede confiar en el orden y por qué `NOT IN` se comporta como se comporta.
Las cuatro clases van de la definición al operador y del operador a la garantía. La relación como conjunto; los operadores del álgebra, que son el lenguaje en el que el optimizador piensa; el cálculo relacional y el teorema de equivalencia, que es literalmente el permiso que tiene el motor para reescribir tu consulta; y la integridad declarada en su forma completa, incluidas las acciones referenciales.
Es la parte más formal del programa y la que más rendimiento da a largo plazo: quien la trabaja lee después un plan de ejecución sin adivinar.
Al terminar esta parte podrás
- Explicar las dos propiedades de la relación que SQL no respeta y sus consecuencias prácticas.
- Traducir una consulta SQL a una expresión del álgebra relacional y viceversa.
- Argumentar por qué el optimizador puede reordenar una consulta sin cambiar su resultado.
- Declarar integridad de entidad, referencial y de dominio, eligiendo la acción referencial adecuada.
Las clases, una por una
Fundamentos · 3 h ·
3 fuentes · requiere 001, 004
La relación como conjunto de tuplas sobre dominios, con dos propiedades que SQL no respeta: no hay orden y no hay duplicados. Entender esa brecha explica de antemano la mitad de las sorpresas del lenguaje, del `DISTINCT` que hace falta al `ORDER BY` que no se puede dar por supuesto.
relación tupla dominio acceso por valor cierre
Fundamentos · 4 h ·
3 fuentes · requiere 020
Los operadores del álgebra relacional —selección, proyección, producto, reunión y división— como el lenguaje en el que el optimizador piensa. Ver una consulta como una expresión algebraica es lo que después permite entender por qué el motor la reordena y por qué eso es legítimo.
selección proyección producto cartesiano reunión natural división
Intermedio · 3 h ·
3 fuentes · requiere 021
El cálculo relacional y el teorema que lo hace equivalente al álgebra. No es formalismo por gusto: esa equivalencia es exactamente el permiso que tiene el optimizador para reescribir tu consulta, y la razón de que SQL pueda ser declarativo.
cálculo de tuplas seguridad de expresión equivalencia declaratividad
Intermedio · 3 h ·
4 fuentes · requiere 008, 016
La integridad declarada en su forma completa: integridad de entidad, integridad referencial, `CHECK` y las acciones referenciales. Insiste en que `ON DELETE CASCADE` es una decisión de dominio y no técnica, y presenta el aplazamiento para los casos en que el estado intermedio tiene que ser inválido.
integridad de entidad integridad referencial CHECK ON DELETE aplazamiento
Errores frecuentes en esta parte
Cada uno de estos es una creencia habitual y su corrección.
- «Álgebra relacional es teoría que no se usa.» Es exactamente lo que muestra un plan de ejecución: selecciones, proyecciones y reuniones reordenadas.
- «`SELECT` devuelve un conjunto.» Devuelve un multiconjunto: los duplicados sobreviven salvo que se pidan `DISTINCT` o se agrupen.
- «`ON DELETE CASCADE` es lo cómodo.» Es una decisión de dominio: sobre datos contables o de auditoría, borra historia que había obligación de conservar.
- «La reunión natural es más limpia.» Y más frágil: empareja por todos los nombres coincidentes, así que añadir una columna homónima cambia el significado de la consulta sin avisar.
Vocabulario de la parte
Los 19 términos que esta parte introduce. Todos están también
en el glosario del programa con sus términos
relacionados.
Fuentes usadas en esta parte
8 obras distintas sostienen lo que se afirma en estas
4 clases.
Otras partes