" La transacción es una conjunto de instrucciones la
cual tiene que realizar todas sus instrucciones o ninguna de ellas, teniendo
esta definición también se puede decir que la transacción es una unidad lógica de
trabajo. "
"En un sistema de gestión de base de datos (SGBD), es un
conjunto de órdenes que se ejecutan formando una unidad de trabajo , es decir, en forma indivisible o atómica."
"ACID es un conjunto de características o propiedades que garantizan que las transacciones en una base de datos son fiables.
En el contexto de bases de datos, una transacción es una única operación sobre los datos. "
Slide 4
“Cualquier cambio de estado que produce una transacción es atómico, es decir, ocurren todos o no ocurre ninguno. En otras palabras, esta propiedad asegura que todas las acciones de la transacción se realizan o ninguna de ellas se lleva a cabo; la atomicidad requiere que si una transacción se interrumpe por una falla, sus resultados parciales deben ser deshechos”
Atomicidad (A)
Slide 5
“Esta propiedad establece que solo los valores o datos válidos serán escritos en la base de datos; si por algún motivo una transacción que es ejecutada viola esta propiedad, se aplicará un rollback a toda transacción dejando a las bases de datos en su estado de consistencia anterior. En caso de que la transacción sea ejecutada con éxito, la base de datos pasará de su estado de consistencia anterior a un nuevo estado de consistencia.”
Consistencia (C)
Slide 6
“Esta propiedad asegura que no sean afectadas entre sí las transacciones, en otras palabras esto asegura que la realización de dos o más transacciones sobre la misma información sean independientes y no generen ningún tipo de error”
Aislamiento (I)
Slide 7
“Es la propiedad de las transacciones que asegura que una vez finalizada su ejecución, sus resultados son permanentes a pesar de otras consecuencias, como por ejemplo, si falla el disco duro el sistema aún será capaz de recordar todas las transacciones que han sido realizadas en el sistema”
Durabilidad (D)
Slide 8
El lenguaje de consulta de datos SQL (Structured Query Language), provee los mecanismos para especificar que un conjunto de acciones deben constituir una transacción.
BEGIN TRAN: Especifica que va a empezar una transacción.
COMMIT TRAN: Le indica al motor que puede considerar la transacción completada con exito.
ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer la base al punto de integridad.
En un sistema ideal, las transacciones deberían garantizar todas las propiedades ACID; en la práctica, a veces alguna de estas propiedades se simplifica o debilita con vistas a obtener un mejor rendimiento.
Sentencias en el proceso de transacciones
Slide 9
Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna.
Consiste en tener transacciones que dependen de otras, estas transacciones están incluidas dentro de otras de un nivel superior y se las conoce como subtransacciones. La transacción de nivel superior puede producir hijos (subtransacciones) que hagan más fácil la programacion del sistema y mejoras del desempeñoEn las transacciones anidadas las operaciones de una transacción pueden ser así mismo otras transacciones.
Slide 13
Operaciones de una transacción
Inicio de Transacción: Operación que marca el momento en el que una transacción comienza a ejecutarse.
Leer o Escribir: Operaciones de lectura/escritura de elementos de la base de datos.
Fin de la Transacción: Se verifica si la transacción debe abortarse por alguna razón.
Confirmar (COMMIT): La operación termino con éxito.
Abortar (ROLLBACK): La transacción termino sin éxito.
Slide 14
Transacción Activa: se encuentra en este estado justo después de iniciar su ejecución.
Transacción Parcialmente Confirmada: en este punto, se efectúan diferentes operaciones de verificación para asegurar que la transacción no interfiera con otras transacciones en ejecución.
Transacción Confirmada: Ha concluido su ejecución con éxito.
Transacción Fallida: En este caso, es posible que la transacción deba ser cancelada.
Transacción Terminada: indica que la transacción a abandonado el sistema