COMMIT Y ROLLBACK


Que es COMMIT ?

se refiere, en el contexto de la ciencia de la computación y la gestión de datos, a la idea de confirmar un conjunto de cambios provisionales de forma permanente. Un uso popular es al final de una transacción de base de datos.
Una sentencia COMMIT en SQL finaliza una transacción de base de datos dentro de un sistema gestor de base de datos relacional (RDBMS) y hace visibles todos los cambios a otros usuarios. El formato general es emitir una sentencia BEGIN WORK o BEGIN TRANSACTION (o la que sea para el lenguaje SQL en cuestión), una o más sentencias SQL, y entonces la sentencia COMMIT.
EJEMPLO
BEGIN TRANSACTION;
DELETE FROM Paises.telefonos
WHERE id teléfonos =555555555;
COMMIT TRANSACTION;

Que es un ROLLBACK?

 es una operación que devuelve a la base de datos a algún estado previo. Las reversiones son importantes para la integridad de la base de datos, a causa de que significan que la base de datos puede ser restaurada a una copia limpia incluso después de que se han realizado operaciones erróneas.


Que es una transacción?

Una transacción es una interacción con una estructura de datos compleja, compuesta por varios procesos que se han de aplicar uno después del otro. La transacción debe realizarse de una sola vez y sin que la estructura a medio manipular pueda ser alcanzada por el resto del sistema hasta que se hayan finalizado todos sus procesos.

EJEMPLO

La transferencia de fondos entre dos cuentas corrientes de un banco. Si queremos transferir, supongamos 5000€ de la cuenta corriente de A y B y las cuentas tienen, respectivamente, 20000€ y 0€ de saldo los pasos lógicos serían:


  1. Comprobar si en la cuenta A hay dinero suficiente.
  2. Restar 5000€ de la cuenta de A, con lo que su saldo pasa a ser de 15000€.
  3. Sumar 5000€ a la cuenta de B, con lo que los saldos quedan A= 15000€ y B= 5000€
  4. Ahora bien, si entre el paso 2 y el 3 el sistema sufre una parada o error inesperado las cuentas quedarían como A= 15000 y B= 0 con lo cual se han volatilizado 5000€ y presumiblemente ni A ni B estarán contentos, y hubiesen preferido que la transacción nunca hubiese sido iniciada.

    Este ejemplo ilustra por qué las transacciones tienen un comportamiento deseado de Todo o nada, o se realiza completamente o no debe tener ningún efecto.

    Que es Savepoint?

    es una forma de implementar subtransacciones (también conocidas como transacciones anidadas) dentro de un sistema gestor de base de datos relacional indicando un punto dentro de una transacción de base de datos que puede ser restaurada sin afectar a cualquier trabajo realizado en la transacción antes de que el punto de recuperación fuera creado. Pueden existir varios puntos de recuperación dentro de una transacción individual.


    que es acid en una transacción ?

    En bases de datos se denomina ACID a las características de los parámetros que permiten clasificar las transacciones de los sistemas de gestión de bases de datos. Cuando se dice que es ACID compliant se indica -en diversos grados- que éste permite realizar transacciones.
    En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español







    Comentarios