Sunteți pe pagina 1din 6

TECNOLGICO NACIONAL DE MXICO

Instituto Tecnolgico del Valle de Oaxaca

CONCEPTO, ESTADOS Y PROPIEDADES DE LAS


TRANSACCIONES

INVESTIGACIN UNIDAD III

Jorge Zarate Martnez

Ing. en Informtica 6 semestre Grupo A

Lic. ngeles Prez Romeo Alberto

Ex-Hacienda de Nazareno, Xoxocotln, Oaxaca.


Mayo de 2017.
Contenido
TRANSACCIONES SQL .......................................................................................................................... 2
Concepto ......................................................................................................................................... 2
Estados ............................................................................................................................................ 4
Propiedades..................................................................................................................................... 4
Esquema .......................................................................................................................................... 6
Referencias .......................................................................................................................................... 6

TRANSACCIONES SQL

Concepto

Una transaccin es un conjunto de operaciones Transact SQL que se ejecutan


como un nico bloque, es decir, si falla una operacin Transact SQL fallan todas.
Si una transaccin tiene xito, todas las modificaciones de los datos realizadas
durante la transaccin se confirman y se convierten en una parte permanente de la
base de datos. Si una transaccin encuentra errores y debe cancelarse o revertirse,
se borran todas las modificaciones de los datos.
El ejemplo clsico de transaccin es una transferencia bancaria, en la que
quitamos saldo a una cuenta y lo aadimos en otra. Si no somo capaces de abonar
el dinero en la cuenta de destino, no debemos quitarlo de la cuenta de origen.

SQL Server funciona por defecto con Transacciones de confirmacin


automtica, es decir, cada instruccin individual es una transaccin y se confirma
automticamente.

Sobre el ejemplo anterior de la transferencia bancaria, un script debera realizar


algo parecido a los siguientes:
Esta forma de actuar seria errnea, ya que cada instruccin se ejecutara y
confirmara de forma independiente, por lo que un error dejara los datos errneos
en la base de datos.
Para agrupar varias sentencias Transact SQL en una nica transaccin,
disponemos de los siguientes mtodos:
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.

Estados
Una transaccin debe estar en uno de los siguientes estados:
Activa (estado inicial): la transaccin permanece en este estado durante su
ejecucin.
Parcialmente Comprometida: la transaccin pasa a este estado cuando
acaba de realizar la ltima instruccin.
Fallida: la transaccin pasa a este estado tras descubrir que no puede
continuar la ejecucin normal.
Abortada: la transaccin pasa a este estado despus de haber restablecido
la base de datos a su estado anterior.
Comprometida: la transaccin pasa a este estado tras completarse con
xito.

Propiedades
Se suele hacer referencia a estas como las propiedades ACID (por sus iniciales en
ingls).
Atomicidad
Todas las operaciones de la transaccin son ejecutadas por completo, o no
se ejecuta ninguna de ellas (si se ejecuta la transaccin, se hace hasta el
final).

Consistencia
Una transaccin T transforma un estado consistente de la base de datos en
otro estado consistente, aunque T no tiene por qu preservar la consistencia
en todos los puntos intermedios de su ejecucin. Un ejemplo es el de la
transferencia de una cantidad de dinero entre dos cuentas bancarias.
Aislamiento (Isolation)
Una transaccin est aislada del resto de transacciones.
Aunque existan muchas transacciones ejecutndose a la vez, cualquier
modificacin de datos, que realice T est oculta para el resto de
transacciones hasta que T sea confirmada (realiza
COMMIT).
Es decir, para cualesquiera T1 y T2, se cumple que
T1 ve las actualizaciones de T2 despus de que T2 realice COMMIT,
o bien
T2 ve las modificaciones de T1, despus de que T1 haga un COMMIT
Pero nunca se cumplen ambas cosas al mismo tiempo.
Nota: esta propiedad puede no imponerse de forma estricta; de hecho, suelen
definirse niveles de aislamiento de las transacciones.

Durabilidad
Una vez que se confirma una transaccin, sus actualizaciones sobreviven
cualquier fallo del sistema.
Las modificaciones ya no se pierden, aunque el sistema falle justo despus
de realizar dicha confirmacin.
El Subsistema de Recuperacin del SGBD es el encargado de conseguir el
cumplimiento de las propiedades de atomicidad y durabilidad de las
transacciones.
La conservacin de la consistencia es una propiedad cuyo cumplimiento han
de asegurar, por un lado los programadores de base de datos, y por otro el
Subsistema de Integridad del SGBD.
El Subsistema de Control de Concurrencia es el encargado de conseguir el
aislamiento de las transacciones.
Esquema

Referencias

https://chargers090187.wordpress.com/2011/06/25/propiedades-deseables-en-las-
transacciones/
https://chargers090187.wordpress.com/2011/06/25/estados-de-una-transaccion/

http://www.devjoker.com/contenidos/articulos/292/Transacciones-en-Transact-SQL.aspx

S-ar putea să vă placă și