Sei sulla pagina 1di 11

Transacciones

Definicin
El termino transaccin hace referencia a un conjunto de
operaciones que forman una unidad lgica de trabajo,
ejem la transferencia de dinero de una cuenta a otra es
una transaccin que consta de dos actualizaciones, una
para cada cuenta
Es importante que se ejecuten completamente las
acciones de una transaccin o bien en caso de fallo se
deshagan los efectos parciales de la transaccin, esta
propiedad se llama atomicidad.
Adems una vez ejecutada con xito una transaccin, sus
efectos deben persistir en la base de datos: un fallo en el
sistema no debe tener como consecuencia que la base
de datos se olvide de una transaccin
Entre las habilidades de todo sistema gestor de base de
datos relacionales tiene que estar la de permitir al
programador crear transacciones.
Las transacciones son un conjunto de operaciones que
van a ser tratadas como una nica unidad, estas
transacciones deben cumplir con 4En bases propiedades
de datos se
denominaACIDa las
fundamentales como ACID caractersticas de los
parmetros que permiten
Atomicidad clasificar lastransacciones
de los
Coherencia sistemas de gestin de base
s de datos
Asilamiento . Cuando se dice que
esACID compliantse indica
Durabilidad -en diversos grados- que
ste permite realizar
transacciones.
En concretoACIDes un
acrnimo
Una transaccin es una unidad de la ejecucin de un
programa que accede y posiblemente actualiza varios
elementos de datos, una transaccin se inicia por la
ejecucin de un programa de usuario escrito en un
lenguaje de manipulacin de datos de alto nivel o en un
lenguaje de programacin
Para asegurar la integridad de los datos se necesita que el sistema de base de datos mantenga las siguientes
propiedades de las transacciones

Atomicidad:
O todas las operaciones de la transaccin se realizan adecuadamente en la base de datos o ninguna de ellas, es
decir las transacciones son completas, es indivisible
Consistencia:
La ejecucin aislada de la transaccin (es decir sin otra transaccin que se ejecute concurrentemente) conserva
la consistencia de la base de datos, es decir la propiedad que asegura que slo se empieza aquello que se
puede acabar, por lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices
deIntegridadde la base de datos.
Despus de ejecutarse una transaccin la base de datos debe quedar en un estado correcto, es decir que si
realizaron todas las instrucciones SQL de manera correcta entonces la BD quedara todas las tablas actualizadas
que estn dentro de la transaccin.
Aislamiento:
Esta propiedad asegura que una operacin no puede afectar a otras. Esto asegura que la realizacin de dos
transacciones sobre la misma informacin sean independientes y no generen ningn tipo de error.
Caracterstica que permite a travs de los bloqueos de tablas poder actualizar todas las tablas que estn
relacionadas dentro de la transaccin.
Durabilidad: (persistencia)
Tras la finalizacin con xito de una transaccin, los cambios realizados en la base de datos permanecen, incluso
si hay fallos en el sistema, Esta propiedad asegura que una vez realizada la operacin, sta persistir y no se
podr deshacer aunque falle el sistema y que de esta forma los datos sobrevivan de alguna manera.
Las transacciones las vamos a utilizar cuando se tengan
que ejecutar varias instrucciones SQL para realizar al
tiempo.
Una transaccin simple es aquella que contiene
instrucciones de comienzo, grabacin y aborto de
transaccin, si existe un problema a la mitad de la
transaccin esta se borra irremediablemente, pues no
existe un grabado intermedio.
Rollback
Si alguna de las operaciones de una transaccin falla hay
que deshacer la transaccin en su totalidad para volver
al estado inicial en el que este la base de datos antes de
empezar
Commit
Si todas las operaciones de una transaccin se
completan con xito hay que marcar el fin de una
transaccin para que la base de datos vuelva a estar en
un estado consistente.

Commit compromete la transaccin actual y comienza


una nueva
Rollback provoca que la transaccin aborte
MySQL es un sistema gestor de base de datos con mejores o peores
consideraciones. Como punto positivo, est la posibilidad de usar ms
de un motor de base de datos. Bsicamente dos son los ms
conocidos: MyISAM e InnoDB.

Cmo saber desde la consola de MySQL esta informacin? Con la


siguiente orden, DESCRIBE TABLE no ofrece esta informacin, slo la
informacin referente al tipo de dato de cada columna, as que
tenemos que usar:

SHOW TABLE STATUS WHERE Name = 'nombre_tabla'


Se recomienda revisar el siguiente link para entender de
mejor forma la diferencia entre MyISAM o InnoDB

https://blog.arsys.es/myisam-o-innodb-elige-tu-motor-d
e-almacenamiento-mysql/

Potrebbero piacerti anche