Exámenes
| Examen | Cuándo | Temas |
|---|---|---|
| Parcial | Semana 8, Sesión B | Partes 1 y 2 (semanas 1–8): modelo relacional, álgebra relacional, SQL, SQL desde un programa, modelo E-R y normalización |
| Final | Período de exámenes | Todo el curso, con énfasis en las partes 3 y 4 (semanas 9–16): almacenamiento, índices, procesamiento y optimización de consultas, transacciones, concurrencia y recuperación |
Formato sugerido
- Escribir consultas: a partir de un esquema dado (no necesariamente el de
Chasqui), escribir consultas en SQL y en álgebra relacional: joins externos,
agregación con
HAVING, subconsultas correlacionadas, división relacional, funciones de ventana. Importa la idea: un error menor de sintaxis no la invalida. - Leer consultas: qué devuelve una consulta sobre unas pocas filas, con
atención a los
NULL, los duplicados y las agregaciones sobre conjuntos vacíos. - Diseño: a partir de unos requisitos cortos, un diagrama E-R y su traducción a tablas; o, dado un esquema con dependencias funcionales, calcular clausuras y claves candidatas, decidir si está en BCNF o 3NF y descomponerlo.
- Cálculos del motor: altura y fan-out de un B+ tree, inserciones con splits, costo en páginas de un block nested loop join o de un ordenamiento externo, selectividad estimada con un histograma, comparación de dos planes.
- Transacciones: decidir si un schedule es serializable por conflictos (con su grafo de precedencia), si es recuperable o cascadeless, qué hace 2PL con él, qué anomalía permite cada nivel de aislamiento; recuperar una base de datos a partir de un log con el algoritmo de ARIES.
- Preguntas cortas: “¿por qué un DBMS no deja el caché al sistema
operativo?”, “¿cuándo un índice empeora una consulta?”, “¿qué garantiza
COMMITsobre el disco?”.
Cómo estudiar
- Las Preguntas de repaso al final de cada guía semanal.
- Los ejercicios de práctica de Silberschatz que tienen solución publicada en
el sitio del libro (Practice Exercises). Las
consultas sobre el esquema
universitydel libro se pueden probar en su intérprete de SQL en línea. - Los exámenes de semestres anteriores del curso CS186 de Berkeley, que se enlazan desde el sitio del curso, y los homeworks del curso 15-445 de CMU, en su calendario.
- Predecir el resultado y el plan de una consulta sobre Chasqui antes de
correrla, y después verificar con
psqlyEXPLAIN ANALYZE. - Releer el propio proyecto: muchas preguntas de diseño y del motor se
parecen a decisiones que ya tomaron en Chasqui y en
quipu.
Banco de preguntas
Guardar los enunciados aquí (parcial-AAAA-S.md, final-AAAA-S.md). Las
soluciones no deberían subirse a un repositorio público; usar
exams/solutions/ (está en .gitignore), una rama privada o un repositorio
aparte.