Una transacción es una secuencia de operaciones realizadas
como una sola unidad lógica de trabajo. Una unidad lógica de trabajo debe
exhibir cuatro propiedades, conocidas como propiedades de atomicidad,
coherencia, aislamiento y durabilidad, para ser calificada como transacción.
Slide 2
Elementos de las transacciones
-Atomicidad
-Coherencia
-Aislamiento
-Durabilidad
Slide 3
Atomicidad
Una transacción debe ser una unidad atómica de trabajo,
tanto si se realizan todas sus modificaciones en los datos, como si no se
realiza ninguna de ellas.
Slide 4
Consistencia
Cuando finaliza, una transacción debe dejar todos los datos
en un estado coherente. En una base de datos relacional, se deben aplicar todas
las reglas a las modificaciones de la transacción para mantener la integridad
de todos los datos. Todas las estructuras internas de datos, como índices de
árbol b o listas doblemente vinculadas, deben estar correctas al final de la
transacción.
Slide 5
Aislamiento
Las modificaciones realizadas por transacciones simultáneas
se deben aislar de las modificaciones llevadas a cabo por otras transacciones
simultáneas. Una transacción reconoce los datos en el estado en que estaban
antes de que otra transacción simultánea los modificara o después de que la
segunda transacción haya concluido, pero no reconoce un estado intermedio. Esto
se conoce como seriabilidad, ya que deriva en la capacidad de volver a cargar
los datos iniciales y reproducir una serie de transacciones para finalizar con
los datos en el mismo estado en que estaban después de realizar las
transacciones originales.
Slide 6
Durabilidad
Una vez concluida una transacción, sus efectos son
permanentes en el sistema. Las modificaciones persisten aún en el caso de
producirse un error del sistema.
Slide 7
Sentencias en SQL
COMMIT
Esta sentencia termina una
unidad de trabajo y confirma los cambios de la base de datos que ha realizado
esa unidad de trabajo.
ROLLBACK
Revierte una transacción
explícita o implícita hasta el inicio de la transacción o hasta un punto de
retorno dentro de la transacción.
Se puede usar ROLLBACK
TRANSACTION para borrar todas las modificaciones de datos realizadas desde el
inicio de la transacción o hasta un punto de retorno. También libera los
recursos que mantiene la transacción.
Slide 8
SAVE POINTLa sentencia SAVEPOINT guarda un punto de restauración de la base de datos, que luego puede ser retornado usando una sentencia ROLLBACK. Por lo que resulta conveniente si queremos deshacer solo una parte de la transacción y no la transacción completa.SET TRANSACTIONSe utiliza al momento de abrir una transacción. Sirve para asignarle un nombre a la transacción. De esa manera es posible tener varias transacciones abiertas al mismo tiempo y realizar operaciones independientes en cada una de ellas.