GoConqr has a new look! Let us know what you think.

Slides

Transacciones BD

Eduardo Campos Corona Informática Spanish 10 slides

Slides in this set (10)

  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.
  2. Slide 2

    • Atomicidad
    • Una 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.
    • Coherencia
    • Cuando 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.
    • Aislamiento
    • Las 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.
    • Durabilidad
    • Una 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
  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
  4. 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).
  5. Cómo definir transacciones

    • 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.
  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.
  7. Sintaxis

    • 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
  8. Sintaxis

    • 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
  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;
  10. Sintaxis

    • 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;

Information

Description
Una pequeña presentación sobre las transacciones de bases de datos y como realizarlas y que son en general
Views
51
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?