Вы находитесь на странице: 1из 12

BASES DE DATOS DISTRIBUIDAS

Transacciones en bases de datos distribuidas

MANEJO DE TRANSACCIONES
Una transaccin en un sistema de gestin de bases de datos (SGBD), es un conjunto de ordenes que se ejecutan formando una unidad de trabajo, es decir, una forma indivisible o atmica. Transaccin consiste en lograr hacer cualquier tipo de operacin en una base de datos, basndonos en consultas desde las mas simples hasta las de mayor grado de complejidad. Transaccin se entiende en el mbito de las bases de datos en lograr hacer acciones sobre las bases de datos deseadas, logrando operaciones de ingreso, borrado, actualizacin y visualizar.

EJEMPLO
En una transaccin bancaria automatizada, si un banco transfiere dinero desde la cuenta A a la cuenta B, la retirada de fondos de A y el depsito en B deben producirse con xito para procesar los fondos correctamente, de lo contrario la transaccin entera debe cancelarse. Esquematizando el proceso de transacciones temos: O se ejecutan todas las operaciones que componen la transaccin, o no se realiza ninguna.

EJEMPLO

En SQL
xito Begin transacction Instruccin 1 Instruccin 2 ... Commit workEnd transacction Fracaso Begin transacction Instruccin 1 Instruccin 2 ... Rollback workEnd transacction

PROPIEDADES DE LA TRANSACCIN
Una unidad lgica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades ACID (Atomicidad, coherencia, aislamiento y durabilidad), para ser calificada como transaccin. Las transacciones brindan una ejecucin atmica y confiable en presencia de fallas, una ejecucin correcta en presencia de accesos de usuario mltiples y un manejo correcto de replicas (en el caso que se sopor ten).

ATOMICIDAD
Una transaccin es tratada como una unidad de operacin. Por lo tanto todas las acciones de la transaccin se llevan a cabo o ninguna de ellas se realiza .La atomicidad requiere que si una transaccin se interrumpe por una falla, sus resultados parciales deben ser deshechos. Se efectan todas las transacciones, pero en caso de fallas no se realiza ninguna. Una transaccin debe concluir comprometida o abortada. En el caso del compromiso se instalan todas las actualizaciones y en el aborto se descartan todas las actualizaciones.

COHERENCIA/CONSISTENCIA
Una transaccin es un programa correcto que lleva la base de datos de un estado consistente a otro con la misma caracterstica. Gracias a esto, las transacciones no violan las reglas de integridad de una base de datos.

AISLAMIENTO
Durante la ejecucin de una transaccin, esta no debe revelar sus resultados a otras transacciones concurrentes antes de su compromiso. Si varias transacciones se ejecutan concurrentemente, los resultados deben ser los mismos que si ellas se hubieran ejecutado en forma secuencial (Seriabilidad). La seriabilidad consiste en asegurarse que los cambios siguen un orden adecuado.

DURABILIDAD
Es la propiedad de las transacciones que asegura que una vez que una transaccin realiza su compromiso, sus resultados son permanentes y no pueden ser borrados de la base de datos, se asegura que los resultados de una transaccin sobrevivirn a fallas del sistema.

ESTADOS Y OPERACIONES DE UNA TRANSACCIN


BEGIN . END : Se utiliza para escribir sentencias compuestas que pueden aparecer en el interior de procedimientos almacenados y triggers. Una sentencia compuesta puede contener mltiples sentencias. COMMIT: Sirve para almacenar los cambios en disco. ROLLBACK : sirve por si se quieren ignorar los cambios hechos desde el principio de la transaccin.

EJEMPLO
CREATE FUNCTION CtrAmount ( @Ctr_Id int(10) ) RETURNS MONEY AS BEGIN DECLARE @CtrPrice MONEY SELECT @CtrPrice = SUM(amount) FROM Contracts WHERE contract_id = @Ctr_Id RETURN(@CtrPrice) END GO SELECT * FROM CtrAmount(345) GO

EJERCICIOS
Configurar servidor y cliente para mysql remotamente investigar. Crear un usuario y darle todos los privilegios de acceso. Pagina de referencia: http://delaoarrieta.blogspot.mx/2012/10/mysql.html

Вам также может понравиться