Sunteți pe pagina 1din 3

Bases de Datos Avanzadas

Nombre: Gilbert Vladimir Ramrez Prez Seccin: 2


Matrcula: 2013-1890
- Resumen del tema de las transacciones (Estados de una
transaccin) del libro Fundamentos de Bases de Datos
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 (por ejemplo SQL, COBOL, C, C++ o Java), y est
delimitado por instrucciones (o llamadas a funcin) de la forma inicio
transaccin y fin transaccin. La transaccin consiste en todas las
operaciones que se ejecutan entre inicio transaccin y el fin transaccin.
Estados de una transaccin:
En ausencia de fallos, todas las transacciones se completan con xito.
Sin embargo, una transaccin puede que no siempre termine su
ejecucin con xito. Una transaccin de este tipo se denomina abortada.
Si se pretende asegurar la propiedad de atomicidad, una transaccin
abortada no debe tener efecto sobre el estado de la base de datos. As,
cualquier cambio que haya hecho la transaccin abortada sobre la base
de datos debe deshacerse.
Una vez que se han deshecho los cambios efectuados por la transaccin
abortada, se dice que la transaccin se ha retrocedido. Parte de la
responsabilidad del esquema de recuperaciones es gestionar las
transacciones abortadas.
Una transaccin que termina con xito se dice que est comprometida.
Una transaccin comprometida que haya hecho modificaciones
transforma la base de datos llevndola a un nuevo estado consistente,
que permanece incluso si hay un fallo en el sistema.
Cuando una transaccin se ha comprometido no se pueden deshacer sus
efectos abortndola. La nica forma de deshacer los cambios de una
transaccin comprometida es ejecutando una transaccin
compensadora.
Una transaccin debe estar en uno de los estados siguientes:

- Activa: El estado inicial; la transaccin permanece en este estado


durante su ejecucin.
- Parcialmente comprometida: Despus de ejecutarse la ltima
instruccin.
- Fallida: Tras descubrir que no puede continuar la ejecucin normal.
- Abortada: Despus de haber retrocedido la transaccin y restablecido
la base de datos a su estado anterior al comienzo de la transaccin.
- Comprometida: Tras completarse con xito.
Se dice que una transaccin se ha comprometido slo si ha llegado al
estado comprometida. Anlogamente, se dice que una transaccin ha
abortado slo si ha llegado al estado abortada. Una transaccin se dice
que ha terminado si se ha comprometido o bien se ha abortado.
Una transaccin comienza en el estado activa. Cuando acaba su ltima
instruccin pasa al estado de parcialmente comprometida. En este punto
la transaccin ha terminado su ejecucin, pero es posible que an tenga
que ser abortada, puesto que los datos actuales pueden estar todava en
la memoria principal y puede producirse un fallo en el hardware antes de
que se complete con xito.
Una transaccin llega al estado fallida despus de que el sistema
determine que dicha transaccin no puede continuar su ejecucin
normal (por ejemplo, a causa de errores de hardware o lgicos). Una
transaccin de este tipo se debe retroceder. Despus pasa al estado
abortada. En este punto, el sistema tiene dos opciones:
- Reiniciar la transaccin: Pero slo si la transaccin se ha abortado a
causa de algn error hardware o software que no lo haya provocado la
lgica interna de la transaccin. Una transaccin reiniciada se considera
una nueva transaccin.
- Cancelar la transaccin: Normalmente se hace esto si hay algn error
interno lgico que slo se puede corregir escribiendo de nuevo el
programa de aplicacin, o debido a una entrada incorrecta o debido a
que no se han encontrado los datos deseados en la base de datos.
-----------------------------------------------------------------------------------------------------------------------

Redacte en sus palabras la diferencia entre los niveles de


aislamiento "REPEATABLE READ" y "SERIALIZABLE".

La diferencia es que en el repeatable read se pueden insertar nuevos


registros, mientras que en serializable slo se puede leer y escribir
(select, update) y slo en las lneas que no estn incluidas en la
transaccin serializable.
Adems, serializable aplica un bloqueo de rango, el cual impide que se
inserten nuevos registros en el rango bloqueado por la transaccin.

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