Está en la página 1de 9

Transacciones SQL

Ing. Erwin Roberto Méndez


emendeza@miumg.edu.gt
Transacciones SQL

Temas

• ¿Cómo funcionas las transacciones?


• Modelo de la transacción
• Como funcionan las transacciones en SQL Server
• Modos de las transacciones
• Niveles y estados de las transacciones

Actividad
Practica de transacciones

Tareas
Estudiar PDF Transacciones,Examen corto.
Que es una transacción

Una transacción en SQL Server se denomina a un conjunto de operaciones


que se ejecutan en bloque. Las operaciones pueden ser cualquiera de las que
ya conocemos: SELECT, UPDATE, DELETE, INSERT, etc.

Si una de las operaciones falla, toda la transacción falla; revirtiendo los


cambios producidos por operaciones que sí fueron satisfactorias en la
transacción.
Modelo de transacción

• Una transacción que termina su ejecución con éxito se dice que está
comprometida.

• Una transacción comprometida que haya hecho modificaciones


transforma la base de datos llevándola a un nueva estado consistente, que
permanece incluso si hay fallo en el sistema.

• En ausencia de fallos, todas las transacciones se completan con éxito.


Modelo de transacción
• Una transacción que no termina su ejecución con éxito se dice que está
abortada.

• Para asegurar la atomicidad, las transacciones abortadas no deben tener


efecto sobre el estado de la base de datos, cualquier cambio que haya
hecho la transacción abortada debe deshacerse.

• Una vez deshechos los cambios de una transacción abortada se dice que la
transacción se ha retrocedido.
Modelo de transacción
• Una transacción debe estar en uno de los siguientes estados:

• Activa (estado inicial): la transacción permanece en este estado durante su


ejecución.

• Parcialmente Comprometida: la transacción pasa a este estado cuando


acaba de realizar la última instrucción

• Fallida: la transacción pasa a este estado tras descubrir que no puede


continuar la ejecución normal

• Abortada: la transacción pasa a este estado después de haber restablecido


la base de datos a su estado anterior

• Comprometida: la transacción pasa a este estado tras completarse con éxito


Modelo de transacción

Commit

parcialmente comprometida
comprometida

activa
Fallo

Rollback

fallida abortada
Implementación de transacciones SQL

• En la norma SQL el comienzo de una transacción se especifica


explícitamente (usualmente begin/start transaction)

• Las transacciones terminan con una de las siguientes instrucciones:

• commit work (compromete la transacción actual)


• rollback work (provoca que la transacción aborte)

• Si el programa termina sin ninguna de estas órdenes, los cambios se


comprometen o abortan según indiq.ue cada sistema
Implementación de transacciones SQL

Practica SQL SERVER

También podría gustarte