Transacciones BD

Description

Una pequeña presentación sobre las transacciones de bases de datos y como realizarlas y que son en general
Eduardo  Campos Corona
Slide Set by Eduardo Campos Corona, updated more than 1 year ago
Eduardo  Campos Corona
Created by Eduardo Campos Corona over 8 years ago
13
0

Resource summary

Slide 1

    Transacciones (definición 1)
    Una transacción es una secuencia de operaciones realizadas como una sola unidad lógica de trabajo. Una unidad lógica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades de atomicidad, coherencia, aislamiento y durabilidad (ACID), para ser calificada como transacción.

Slide 2

    AtomicidadUna transacción debe ser una unidad atómica de trabajo, tanto si se realizan todas sus modificaciones en los datos, como si no se realiza ninguna de ellas.CoherenciaCuando finaliza, una transacción debe dejar todos los datos en un estado coherente. En una base de datos relacional, se deben aplicar todas las reglas a las modificaciones de la transacción para mantener la integridad de todos los datos. Todas las estructuras internas de datos, como índices de árbol b o listas doblemente vinculadas, deben estar correctas al final de la transacción.AislamientoLas modificaciones realizadas por transacciones simultáneas se deben aislar de las modificaciones llevadas a cabo por otras transacciones simultáneas. Una transacción reconoce los datos en el estado en que estaban antes de que otra transacción simultánea los modificara o después de que la segunda transacción haya concluido, pero no reconoce un estado intermedio. Esto se conoce como seriabilidad, ya que deriva en la capacidad de volver a cargar los datos iniciales y reproducir una serie de transacciones para finalizar con los datos en el mismo estado en que estaban después de realizar las transacciones originales.DurabilidadUna vez concluida una transacción, sus efectos son permanentes en el sistema. Las modificaciones persisten aún en el caso de producirse un error del sistema. https://technet.microsoft.com/es-es/library/ms190612(v=sql.105).aspx

Slide 3

    Transacciones (definición 2)
    Una transacción es una unidad de trabajo compuesta por diversas tareas, cuyo resultado final debe ser que se ejecuten todas o ninguna de ellas. Por regla general en un sistema de base de datos todas las operaciones relacionadas entre sí que se ejecuten dentro un mismo flujo lógico de trabajo, deben ejecutarse en bloque. De esta manera si todas funcionan la operación conjunta de bloque tiene éxito, pero si falla cualquiera de ellas, deberán retrocederse todas las anteriores que ya se hayan realizado. De esta forma evitamos que el sistema de datos quede en un estado incongruente.http://www.campusmvp.es/recursos/post/Fundamentos-de-SQL-Transacciones.aspx

Slide 4

    Propiedades ACID Una transacción, para cumplir con su propósito y protegernos de todos los problemas que hemos visto, debe presentar las siguientes características: Atomicidad: las operaciones que componen una transacción deben considerarse como una sola. Consistencia: una operación nunca deberá dejar datos inconsistentes. Aislamiento: los datos "sucios" deben estar aislados, y evitar que los usuarios utilicen información que aún no está confirmada o validada. (por ejemplo: ¿sigue siendo válido el saldo mientras realizo la operación?) Durabilidad: una vez completada la transacción los datos actualizados ya serán permanentes y confirmados. A estas propiedades se las suele conocer como propiedades ACID (de sus siglas en inglés: Atomicity, Consistency, Isolation yDurability).

Slide 5

    Por regla general en los gestores de datos relacionales modernos disponemos de tres tipos de transacciones según la forma de iniciarlas: De confirmación automática: el gestor de datos inicia una transacción automáticamente por cada operación que actualice datos. De este modo mantiene siempre la consistencia de la base de datos, aunque puede generar bloqueos. Implícitas: cuando el gestor de datos comienza una transacción automáticamente cada vez que se produce una actualización de datos, pero el que dicha transacción se confirme o se deshaga, lo debe indicar el programador. Explícitas: son las que iniciamos nosotros "a mano" mediante instrucciones SQ. somos nosotros, los programadores, los que indicamos qué operacio0nes va a abarcar.
    Cómo definir transacciones

Slide 6

    Sintaxis/Operaciones 
    Inicio de Transacción: Operación que marca el momento en el que una transacción comienza a ejecutarse. Leer o Escribir: Operaciones de lectura/escritura de elementos de la base de datos. Fin de la Transacción: Se verifica si la transacción debe abortarse por alguna razón. Confirmar (COMMIT): La operación termino con éxito.Abortar (ROLLBACK): La transacción termino sin éxito.

Slide 7

    Regularmente las transacciones comienzan con un BEGIN WORK y finalizan con unCOMMIT/COMMIT WORK o ROLLBACK/ROLLBACK WORK.BEGIN WORK UPDATE Tabla SET dato = '15' WHERE dato2 = 'Manolo' ... ... ... DELETE FROM dato = 'Manolo' COMMIT WORK
    Sintaxis

Slide 8

    Hay otra manera de escribir una transacción estas son las transacciones ANSI, estas comienzan cuando inicia cualquier sentencia SQL y finaliza con un COMMIT o ROLLBACK.UPDATE Tabla SET dato = '15' WHERE dato2 = 'Manolo' ... ... ... DELETE FROM dato = 'Manolo' COMMIT
    Sintaxis

Slide 9

    Sintaxis
    Sintaxis SAVEPOINT savepoint_nombre Ejemplo: BEGIN; INSERT INTO table1 VALUES (1); SAVEPOINT my_savepoint; INSERT INTO table1 VALUES (2); ROLLBACK TO SAVEPOINT my_savepoint; INSERT INTO table1 VALUES (3); COMMIT;

Slide 10

    SET TRANSACTION transaction_mode [, ...] SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...] where transaction_mode is one of: ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED } READ WRITE | READ ONLY Ejemplo: SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; BEGIN TRANSACTION; SELECT COUNT(*) AS TotalProblems, SUM(CASE WHEN Problem LIKE '%Kenny%' THEN 1 END) AS [Kenny's Problems], SUM(CASE WHEN Problem LIKE '%printer%'THEN 1 END) AS [Printer Problems] FROM Tickets WHERE ID BETWEEN 0 AND 100000;
    Sintaxis
Show full summary Hide full summary

Similar

FUNDAMENTOS DE REDES DE COMPUTADORAS
anhita
Test: "La computadora y sus partes"
Dayana Quiros R
Abreviaciones comunes en programación web
Diego Santos
influencia de la revolución industrial en la administracion
elvis samar
Seguridad en la red
Diego Santos
Excel Básico-Intermedio
Diego Santos
Evolución de la Informática
Diego Santos
Introducción a la Ingeniería de Software
David Pacheco Ji
Conceptos básicos de redes
ARISAI DARIO BARRAGAN LOPEZ
La ingenieria de requerimientos
Sergio Abdiel He
TECNOLOGÍA TAREA
Denisse Alcalá P