Actividad de aprendizaje 1

Description

Transacciones SQL
Misael Jimenez
Slide Set by Misael Jimenez, updated more than 1 year ago
Misael Jimenez
Created by Misael Jimenez about 8 years ago
17
0

Resource summary

Slide 1

    Actividad de aprendizaje 1

Slide 2

    1) Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica. 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 transacción, 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 transacción nunca se hubiese realizado. Una transacción debe contar con ACID (un acrónimo inglés) que quiere decir: Atomicidad, Consistencia, Aislamiento y Durabilidad. Entonces para que un Sistema de Gestión de Bases de Datos sea considerado Transaccional, debe cumplir con estos criterios (ACID).
    DEFINICIONES DE TRANSACCIÓN:

Slide 3

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

Slide 4

    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.

Slide 5

    Las opciones de procesamiento de transacciones son las mismas para SQL que para PL/SQL. Las operaciones para manejo de transacciones son: SET TRANSACTION inicializa una transacción y define las características clave. COMMIT Finaliza la transacción actual salvando los cambios en la base de datos e iniciando una nueva transacción.   ROLLBACK Finaliza la transacción actual, descartando los cambios realizados en la base de datos. SAVEPOINT Define un punto intermedio para que la transacción pueda realizar rollbacks parciales.
    Transacciones

Slide 6

    SET TRANSACTION
    Este comando es utilizado para definir el inicio de una transacción. Alguno de los efectos que se puede lograr con el set transaction es que la transacción pueda ser definida de solo lectura (read-only). Ejemplos del uso del comando son: SET TRANSACTION READ ONLY;SET TRANSACTION READ WRITE;

Slide 7

    Este comando representa el punto del tiempo donde el usuario ha realizado una serie de cambio lógicos que se han agrupado y que dado que no ha habido errores, el usuario está listo para salvar su trabajo. De forma implícita se inicia una nueva transacción luego del COMMIT.Es importante saber que cuando el usuario sale de SQL*Plus se ejecuta un COMMIT automático, de igual forma cuando ejecuta un comando de definición de datos.COMMIT;COMMIT WORK;
    COMMIT

Slide 8

    Si el usuario se diera cuenta en cualquier punto de la transacción que cometió un error, puede descartar los cambios hechos en la base de datos utilizando el ROLLBACK. Luego del ROLLBACK, se inicia una nueva transacción. Siempre se ejecuta un rollback cuando ocurre un error en la ejecución o bien cuando el comando es finalizado con CTRL.+C. ROLLBACK;ROLLBACK WORK;
    ROLLBACK

Slide 9

    En algunos casos tenemos transacciones muy grandes o que envuelven la modificación de muchos datos, y no se desea reversar la misma por haber tenido un pequeño error en la ejecución del último comando. Los savepoints permiten dividir el trabajo de la transacción diferentes segmentos. De esta forma el usuario puede ejecutar rollbacks para un savepoint solamente, dejando los cambios previos intactos. Veamos un ejemplo: UPDATE spanky.products  SET quantity = 55WHERE product# = 59495;SAVEPOINT A1; UPDATE spanky.productsSET quantity = 504;ROLLBACK TO SAVEPOINT A1;COMMIT;
    SAVEPOINT

Slide 10

    En el anterior ejemplo los cambios realizado por el segundo UPDATE no son salvados cuando se realiza el COMMIT, dado que el ROLLBACK anterior a este los revierte. Recuerde que la base de datos provee de los mecanismos de bloqueo para que solo un usuario pueda modificar a la vez un registro de la base de datos. Otro aspecto importante, para el caso de PL/SQL, es que el inicio de un bloque no define el inicio de una transacción.
Show full summary Hide full summary

Similar

TRANSACCIONES EN BASES DE DATOS
Adriana Silva4632
Transacciones en bases de datos
Leonel Alejandro Gómez
Plataformas Educativas
hrjosh064
INTERNET Y APLICACIONES WEB
Allison Torrejon Alvarez
Administración RRHH - (SENA 2014)
Saúl Cáceres
SISTEMAS DE GESTIÓN DE BASES DE DATOS
Angeloca Johanna Tobon Pacheco
PEDAGOGIA - Mapa Mental
Nidia Dominguez
Drama Works IB English
miss.bakare
AS English Language
Becky Holland
Geography Section 1 (Rivers and Coasts)
Beth Goodchild
Preparing for ACT Math section
Don Ferris