Sunteți pe pagina 1din 6

CONTROL DE

TRANSACCIONES EN UNA
BASE DE DATOS
Taller de Base de Datos

Instituto Tecnolgico de Celaya


RAMIREZ ALVAREZ SANJUANA AURORA
RODRIGUEZ MORALES PALOMA ESTEFANA

Introduccin
Una transaccin en un Sistema Gestor de Bases de Datos (SGBD), es un
conjunto de rdenes que se ejecutan formando una unidad de trabajo, es
decir, en forma indivisible o atmica.
Al decir atmica o indivisible se refiere a la propiedad de las transacciones
que permite observarlas como operaciones que ocurren totalmente o no
ocurren
Un SGBD se dice transaccional, si es capaz de mantener la integridad de los
datos, haciendo que estas transacciones no puedan finalizar en un estado
intermedio. Cuando por alguna causa el sistema debe cancelar la
transaccin, empieza a deshacer las rdenes ejecutadas hasta dejar la base
de datos en su estado inicial (llamado punto de integridad), como si la orden
de la transaccin nunca se hubiese realizado.

Transaccin
Una transaccin es una unidad de la ejecucin de un programa, puede
consistir en varias operaciones de acceso a la base de datos, aunque esta se
ejecuta en una sola operacin. Esto quiere decir que luego de una ejecucin,
en la que se produce una falla, es el mismo que se obtendr si el programa
no se hubiera ejecutado.
Los SGBD al ser concurrentes, es decir que permiten la ejecucin de varias
consultas, proveen mecanismos para especififcar que un conjunto de
acciones debe constituir una transaccin.
En un sistema ideal, las transacciones deberan garantizar todas las
propiedades ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad).
Atomicidad: es la propiedad de las transacciones que permite
observarlas como operaciones que ocurren totalmente o no ocurren.

Figura: Implementacin de atomicidad.

Consistencia: La ejecucin aislada de la transaccin (es decir sin otra


transaccin que se ejecute concurrentemente); coherencia de los datos
almacenados.
Aislamiento:
Aunque
se
ejecuten
varias
transacciones
concurrentemente, el sistema garantiza que cada par de transacciones
Ti y Tj se ejecutarn en diferentes tiempos, es decir:
Tj ha terminado antes de que comience Ti.
Tj ha comenzado despus de que termine Ti.

Existen distintos tipos de aislamiento entre transacciones y determinar el


grado de aceptacin de datos inconsistentes. A mayor grado de aislamiento,
mayor presicin pero a costa de menor concurrecia.
El nivel de aislamiento en una sesin de SQL establece el comportamiento
para los bloqueos de instrucciones en SQL.
Estos niveles son:
o Lectura no comprometida: (menor nivel) asegura que no se lean
datos corruptos fsicamente.
o Lectura comprometida: Slo se permiten lecturas de datos
comprometidos.
o Lectura fantasma: Una lectura de una fila que no exista cuando
se inici la transaccin.
SQL Server permite todos estos niveles, Oracle permite solo lectura
comprometida y secuenciable. Los niveles se pueden establecer en ambos
SGBD para cada transaccin.
Durabilidad: Tras la finalizacin con xito de una transaccin, los
cambios realizados a la base de datos permanecen, incluso si hay
fallos en el sistema. El SGBD asegura que perduren los cambios
realizados por una transaccin que termina con xito.

Estados de una transaccin


Transaccin Activa: se encuentra en este estado justo despus de
iniciar su ejecucin.
Transaccin Parcialmente Confirmada: en este punto, se efectan
diferentes operaciones de verificacin para asegurar que la
transaccin no interfiera con otras transacciones en ejecucin.
Transaccin Confirmada: Ha concluido su ejecucin con xito.
Transaccin Fallida: En este caso, es posible que la transaccin deba
ser cancelada.
Transaccin Terminada: indica que la transaccin ha abandonado el
sistema.

Manejo de Transacciones
El manejo de transacciones consiste en controlar mltiples transacciones
ejecutando el paralelo sobre una misma base de datos corriendo en un
sistema que puede fallar. Los objetivos del gestor de transacciones del SGBD
son:
-

Evitar que las transacciones interfieran unas con otras al


ejecutar en paralelo, y garantizar que la base de datos no
sea daada en forma irreparable por cadas, ya sea del
sistema en s o de alguna de las transacciones.

El primero de los objetivos da lugar a lo que se llama control de paralelismo;


el segundo, a tcnicas de recuperacin. Una transaccin es una unidad de la
ejecucin de un programa que accede y posiblemente actualiza varios
elementos de datos y est delimitada por instrucciones 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.

Conclusin
Ahora sabemos que una transaccin es un programa de aplicacin,
generalmente de duracin breve, que accede y actualiza una parte
considerada generalmente pequea en la base de datos, su labor principal
es conservar la integridad en una base de datos. A su vez un gestor de
transacciones asegura que la base de datos permanecer en un estado
consistente a pesar de fallos en el sistema o de fallos en las transacciones.

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