Una transacción es una o más sentencias que se toman como una unidad (todo termina bien o todo se aborta). Es una unidad lógica de trabajo definida para las reglas del negocio y típicamente incluye al menos una modificación de datos. Además, pasa la base de datosde un estado consistente a otro.
2. Una transacción es una o más sentencias que se
toman como una unidad (todo termina bien o todo se
aborta)
Una transacción es una unidad lógica de trabajo
Definida para las reglas del negocio
Típicamente incluye al menos una modificación de
datos
Pasa la base de datos de un estado consistente a otro
Una transacción tiene dos posibles salidas:
Committed
Todas las modificaciones quedan en firme
Rolled back
Las modificaciones retornan a su estado inicial
3. Proteger los datos de las fallas del software,
hardware, y potencia eléctrica
Permitir el aislamiento de datos de tal forma
que varios usuarios pueden acceder
simultáneamente a los datos sin interferencia
5. Existen dos tipos grandes de transacciones:
Transacciones Locales: Cuando existe una sola
conexión a una base de datos.
Transacciones Distribuidas: Son aquellas que
operan en datos distribuidos. Dicho de otra
manera, operan cuando se trabaja con bases de
datos distribuidas (múltiples bases de datos
que forman un todo en la aplicación).
7. Begin
Inicia la transacción
Commit
Finaliza la transacción
Todas las modificaciones quedan en firme
8. Rollback termina una transacción
Deshace las modificaciones que se hayan
hecho
La ejecución continua con la instrucción
siguiente a rollback
9. Se pueden tener transacciones anidadas:
El begin y commit más externos comienzan y
finalizan las transacciones.
Las sentencias begin y commit internos solamente
guardan un registro del nivel de anidamiento.
10. Cuando se ejecutan rollback anidados sin puntos
de grabación:
El rollback deshace todas las transacciones en
progreso, sin importar el nivel de anidamiento del
rollback
Termina la transacción
La ejecución continúa con la sentencia siguiente al
rollback
11. El registro de transacciones almacena los efectos de
cada insert, update y delete
El sistema utiliza el registro de transacciones para
rehacer las transacciones que se reversaron
Se registra el comienzo de una transacción, los
commits y rollbacks
Si un servidor falla durante una transacción, no hay
registro de un rollback o commit
Durante la recuperación (recovery), las modificaciones en
transacciones sin un registro de rollback o commit no
tendrán efecto. Si las modificaciones fueron grabadas en
disco, se revertirán.