3. Operaciones y transacciones¶
3.1. ¿De qué va este tema?¶
Completaremos el acceso relacional con modificaciones, consultas y representación de resultados. Controlaremos recursos y transacciones para construir un componente que mantenga el comportamiento esperado tanto en casos correctos como ante fallos.
Dedicación orientativa: unas 32 horas. El tiempo que necesites dependerá de tus conocimientos previos y de las dificultades que encuentres.
Punto de partida: conexión y estructura relacional preparadas en el curso anterior.
3.2. Clases¶
3.2.1. Sentencias parametrizadas y altas¶
Sentencia, parámetros y tipos; separación entre SQL y datos.
Concatenación frente a valores enlazados.
Actividad
Filas afectadas, clave generada y restricciones.
Alta correcta y rechazo por integridad.
Actividad
3.2.2. Modificar y eliminar con control¶
Predicado, parámetros e identidad.
Alcance de una actualización y riesgo de cambios no previstos.
Actividad
Borrado, relaciones y restricciones.
Filas afectadas y comparación del estado anterior y posterior.
Actividad
3.2.3. Objetos para representar resultados¶
Objeto de dominio y objeto de transferencia de datos.
Identidad, tipos y valores nulos.
Actividad
Columnas, conversiones, colecciones y ausencia de resultado.
Separación entre datos recuperados y recursos del gestor.
Actividad
3.2.4. Consultar y recorrer resultados¶
Selección, filtros y parámetros de búsqueda.
Ejecución de consultas desde la aplicación.
Actividad
Cursor, recorrido y conversión a objetos.
Resultado vacío frente a error de consulta.
Actividad
3.2.5. Consultas relacionadas y vida del resultado¶
Composición, alias e identidad en consultas relacionadas.
Duplicados de filas frente a duplicados de entidades.
Actividad
Agrupación en objetos y materialización de resultados.
Cierre del cursor y uso fuera del ciclo de vida de la conexión.
Actividad
3.2.6. Liberar recursos también cuando hay errores¶
Conexión, sentencia y resultado: propiedad y orden de cierre.
Rutas de éxito, error e interrupción de lectura.
Actividad
Cierre garantizado y propagación del error original.
Comprobación de fugas con casos reproducibles.
Actividad
3.2.7. Delimitar y confirmar una transacción¶
Atomicidad, autoconfirmación y operación de negocio.
Límites de una transacción frente a operaciones independientes.
Actividad
Inicio, confirmación y reversión.
Comprobación del estado definitivo de una operación compuesta.
Actividad
3.2.8. Revertir y diagnosticar una transacción¶
Fallo intermedio, integridad y propagación del error.
Predicción del estado después de una reversión.
Actividad
Recuperación y aislamiento como límite de las garantías.
Conflicto controlado y comprobación de ausencia de estado parcial.
Actividad
3.2.9. Invocar procedimientos almacenados¶
Firma de la rutina, parámetros de entrada y salida y resultados.
Invocación desde el conector.
Actividad
Ejecución, efectos, errores y participación transaccional.
Resultado de la aplicación frente a resultado del gestor.
Actividad
3.2.10. Completar el componente relacional¶
Operaciones del contrato y representación de resultados.
Encapsulación del conector y límites transaccionales.
Actividad
Configuración, cliente y pruebas comunes.
Sustitución del componente de ficheros por el relacional.
Actividad
Test de autoevaluación
Actividad final integradora