Está en la página 1de 11

Transacciones

IMPLEMENTACIN DE BASES DE DATOS

Transaccin

Las transacciones son un conjunto de instrucciones SQL que tienen la


cualidad de ejecutarse como una unidad, es decir, o se ejecutan
todas o no se ejecuta ninguna.

Si una transaccin tiene xito, todas las modificaciones de los datos


realizados durante la transaccin se guardan en la base de datos.

Si una transaccin contiene errores los cambios no se guardaran en la


base de datos.

En un sistema ideal, las transacciones deberan garantizar todas las


propiedades ACID.

Atomicity Atomicidad

Consistency Consistencia

Isolation - Aislamiento

Durability - Durabilidad

Atomicidad. Es la propiedad que asegura que la operacin se ha realizado o


no, y por lo tanto ante un fallo del sistema no puede quedar a medias.

Consistencia. Esta propiedad est ligada a la integridad referencial, es decir


solo se pueden escribir datos vlidos respetando los tipos de datos declarados
y la integridad referencial.

Aislamiento. Asegura que una operacin no puede afectar a otras. Con esto
se asegura que varias transacciones sobre la misma informacin sean
independientes y no generen ningn tipo de error.

Durabilidad. Cuando se completa una transaccin con xito los cambios se


vuelven permanentes.

Transacciones explcitas

Cada transaccin se inicia explcitamente con la instruccin BEGIN


TRANSACTION y se termina explcitamente con una
instruccin COMMIT o ROLLBACK.

Transacciones implcitas

Se inicia automticamente una nueva transaccin cuando se ejecuta


una instruccin que realiza modificaciones en los datos, pero cada
transaccin se completa explcitamente con una
instruccin COMMIT o ROLLBACK.

COMMIT

Se ejecutan todas las instrucciones y guardamos los datos. Esto si las


instrucciones ingresadas fueron correctas.

ROLLBACK

Si se llega a producir un error no se guardan lo cambios para no daar la


base de datos.

SINTAXIS SQL SERVER

Begin Tran -> Declaracin de incido de la transaccin

-> Sentencias de ejecucin

Commit tran ->ejecucin correcta, se guardan lo cambios

Rollback->fallo en la ejecucin no se aplican los cambios

BEGIN TRY

--Instrucciones a ejecutar

COMMIT TRANSACTION

END TRY

BEGIN CATCH

ROLLBACK TRANSACTION

END CATCH

Excepciones

begin tran

begin try -> Implementacin para le uso de try catch

insert into empresas (ide,nombre,direccion,telefono)values(1,'a','b','1')

select * from empresas

commit tran

end try ->cierre del try

begin catch -> Incido de la excepcin

print 'falla'

rollback

end catch ->Fin de la excepcin

SINTAXIS MySQL

Start transaction; ->se inicia la transaccin con esta sintaxis

Insert into [NombreTabla] (atributo1, atributo2atributoN) values (valor1,valor2


valorN);

Rollback; -> Comando que reinicia los cambios a como estaba la BD

Commit; ->Comando que ejecuta dichos cambios correctamente y actualiza la BD

También podría gustarte