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