Está en la página 1de 4

Contenido

Transaccin......................................................................................................... 2
Propiedades..................................................................................................... 2
Atomicidad.................................................................................................... 2
Consistencia................................................................................................. 2
Aislamiento................................................................................................... 2
Durabilidad................................................................................................... 2
Grados de consistencia.................................................................................... 2
Activa (Active):............................................................................................. 2
Parcialmente comprometida (Uncommited):................................................2
Fallida (Failed):.............................................................................................. 3
Abortada (Rolled Back):................................................................................ 3
Niveles de aislamiento..................................................................................... 3
Commit (accin de comprometer)...................................................................3
Rollback........................................................................................................... 3
BIBLIOGRAFIA...................................................................................................... 4

Transaccin
Una transaccin es una unidad de la ejecucin de un programa. Puede consistir
en varias operaciones de acceso a la base de datos. Est delimitada por
constructoras como begin-transaction y end-transaction.

Propiedades
Atomicidad
Es la propiedad de las transacciones que permite
operaciones atmicas: ocurren totalmente o no ocurren.

observarlas

como

Casos a considerar:
- Consultas unitarias. Incluso para consultas unitarias hay que preservar la
atomicidad: en un sistema operativo de tiempo compartido, la ejecucin
concurrente de dos consultas SQL puede ser incorrecta si no se toman las
precauciones adecuadas.
- Operacin abortada. Por ejemplo, debido a una divisin por cero; por
privilegios de acceso; o para evitar bloqueos

Consistencia
La ejecucin aislada de la transaccin conserva la consistencia de la base de
datos.

Aislamiento
Para cada par de transacciones que puedan ejecutarse concurrentemente Ti y
Tj, se cumple que para los efectos de Ti:
- Tj ha terminado antes de que comience Ti
- Tj ha comenzado despus de que termine Ti
Las transacciones son independientes entre s.

Durabilidad
Una vez concluida una transaccin, sus efectos son permanentes en el sistema.
Las modificaciones persisten an en el caso de producirse un error del sistema.

Grados de consistencia
Consistencia es un trmino ms amplio que el de integridad. Podra definirse
como la coherencia entre todos los datos de la base de datos. Cuando se
pierde la integridad tambin se pierde la consistencia. Pero la consistencia
tambin puede perderse por razones de funcionamiento.

Activa (Active): el estado inicial; la transaccin permanece en este estado


durante su ejecucin.

Parcialmente comprometida (Uncommited): Despus de ejecutarse la


ltima transaccin, ya que los cambios que hemos realizado todava no son los
correctos.

Comprometida (Commited): tras completarse con xito y una vez ejecutada


la instruccin no hay cambios.

Fallida (Failed): Esto se realiza tras descubrir que no se puede continuar la


ejecucin normal ya que probablemente ocurri un error durante la ejecucin
del comando.

Abortada (Rolled Back): despus de haber retrocedido la transaccin y


restablecido la base de datos a su estado anterior al comienzo de la
transaccin.

Niveles de aislamiento
Se puede ajustar el nivel de aislamiento entre las transacciones y determinar
para una transaccin el grado de aceptacin de datos inconsistentes. A mayor
grado de aislamiento, mayor precisin, pero a costa de menor concurrencia. El
nivel de aislamiento para una sesin SQL establece el comportamiento de los
bloqueos para las instrucciones SQL.
Lectura no comprometida. Menor nivel. Asegura que no se lean datos
corruptos fsicamente.
Lectura comprometida. Slo se permiten lecturas de datos comprometidos.
Lectura repetible. Las lecturas repetidas de la misma fila para la misma
transaccin dan los mismos resultados.
Secuenciable. Mayor nivel de aislamiento. Las transacciones se aslan
completamente.

Commit (accin de comprometer)


Se refiere a la idea de consignar un conjunto de cambios "tentativos, o no
permanentes". Un uso popular es al final de una transaccin de base de datos.
Una sentencia COMMIT en SQL finaliza una transaccin de base de datos
dentro de un sistema gestor de base de datos relacional (RDBMS) y pone
visibles todos los cambios a otros usuarios. El formato general es emitir una
sentencia BEGIN WORK, una o ms sentencias SQL, y entonces la sentencia
COMMIT. Alternativamente, una sentencia ROLLBACK se puede emitir, la cual
deshace todo el trabajo realizado desde que se emiti BEGIN WORK. Una
sentencia

Rollback
Es una operacin que devuelve a la base de datos a algn estado previo. Los
Rollbacks 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 despus de que se han realizado operaciones errneas. Son cruciales
para la recuperacin de crashes de un servidor de base de datos; realizando
rollback(devuelto) cualquier transaccin que estuviera activa en el tiempo del
crash, la base de datos es restaurada a un estado consistente.

En SQL, ROLLBACK es un comando que causa que todos los cambios de datos
desde la ltima sentencia BEGIN WORK, o START TRANSACTION sean
descartados por el sistema de gestin de base de datos relacional (RDBMS),
para que el estado de los datos sea "rolled back"(devuelto) a la forma en que
estaba antes de que aquellos cambios tuvieran lugar.

BIBLIOGRAFIA
SILBERSCHATZ, A., KORTH, H.F., SUDARSHAN, S. "Fundamentos de bases de
datos", 3 edicin, McGraw-Hill, 1998.
ATZENI, P., STEFANO, C., PARABOSCHI, S., TORLONE, R., Database Systems.
Concepts, Languages and Architectures, McGraw-Hill, 2000.

También podría gustarte