Transacciones en las Bases de Datos

Description

:)
Gera Peluso Arévalo
Slide Set by Gera Peluso Arévalo, updated more than 1 year ago
Gera Peluso Arévalo
Created by Gera Peluso Arévalo over 8 years ago
17
0

Resource summary

Slide 1

    Transacciones en las bases de datos
    Gerardo Alejandro Arévalo AnayaTaller de administración de bases de datos

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

Slide 3

    Commit
    *Compromete la transacción actual; es decir, hace que los cambios realizados por la transacción sean permanentes en la base de datos. Después de que se comprometa la transacción se inicia una nueva transacción automáticamente.*Finaliza una transacción y permite completar todos los cambios a la base de datos.               Sintaxis                                                                                                                                           EJEMPLO:La instrucción COMMIT, se representa con la siguiente sintaxis:                               START TRANSACTION                        COMMIT [ WORK ] [ AND [ NO ] CHAIN ]                                                                ISOLATION LEVEL READ UNCOMMITTED;                                                                                                                                                SELECT *                                                                                                                                                 FROM ARTISTAS;                                                                                                                                                COMMIT;En su punto más básico, la instrucción COMMIT requiere solamente la palabra clave COMMIT. Todos los demás elementos de la instrucción son opcionales. COMMIT solo sirve para indicar que la transacción se realizo completamente.

Slide 4

    RollBack
    causa el retroceso de la transacción actual; es decir, deshace todas las actualizaciones realizadas por las instrucciones SQL de la transacción; así, el estado de la base de datos se restaura al que existía previo a la ejecución de la transacción.A pesar de que el objetivo de cualquier transacción es completar los cambios hechos por las instrucciones en esa transacción, no hay duda que existirán ocasiones cuando se quiera reinvertir esos cambios. Para poder controlar estas reinversiones, se debe utilizar una instrucción ROLLBACK para deshacer los cambios y eliminar la transacción, o para regresar los cambios a un punto de recuperación específico. La siguiente sintaxis muestra los diferentes elementos que pueden ser incluidos en una instrucción ROLLBACK:                   ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ TO SAVEPOINT ]ROLLBACK, a diferencia de la instrucción COMMIT, incluye la cláusula opcional TO SAVEPOINT. La cláusula TO SAVEPOINT especifica un punto de recuperación que se utiliza si los cambios tienen que ser reinvertidos.

Slide 5

    Ejemplo RollBack y Savepoint
                                               START TRANSACTION ISOLATION LEVEL SERIALIZABLE;                                           SELECT TITULO_CD, EN_EXISTENCIA                                                FROM DISCOS_COMPACTOS                                              WHERE ID_DISQUERA = 832;                                           SAVEPOINT SECCION_1;                                           UPDATE DISCOS_COMPACTOS                                           SET EN_EXISTENCIA = EN_EXISTENCIA + 2                                             WHERE ID_DISQUERA = 832;                                             ROLLBACK TO SAVEPOINT SECCION_1;

Slide 6

    Save Point
    Crea un punto de recuperación dentro de una transacción. Un punto de recuperación marca una zona dentro de la transacción que actúa como un punto para detenerse cuando una transacción tiene que regresar a su punto inicial.                                                    SINTAXISCrear un punto de recuperación en la transacción es muy simple, como se muestra en la siguiente sintaxis: SAVEPOINT <nombre del punto de recuperación>Todo lo que se necesita utilizar es la palabra clave SAVEPOINT, seguida del nombre del punto de recuperación. Por ejemplo, para crear un punto de recuperación llamado SECCION_1, se deberá utilizar la siguiente instrucción:            SAVEPOINT SECCION_1; Una vez que se crea el punto de recuperación, se puede utilizar el nombre SECCION_1 para identificar el punto de recuperación posteriormente en la transacción.

Slide 7

    Set Transaction
    La instrucción SET TRANSACTION permite configurar la mayoría de las propiedades asociadas con el proceso de transacción. Se puede ejecutar esta instrucción solamente cuando ninguna transacción está activa (o en el caso de Oracle, sólo como la primera instrucción después de COMMIT o ROLLBACK). Cuando sí se utiliza una instrucción SET TRANSACTION, las propiedades configuradas dentro de la instrucción son aplicadas solamente a la siguiente transacción que es iniciada. Las propiedades no se trasladan de una transacción a la otra. La instrucción SET TRANSACTION no es obligatoria para iniciar una transacción. Si la instrucción no es ejecutada, la transacción utiliza ya sea las propiedades de manera predeterminada, o las propiedades suministradas en la instrucción subsecuente START TRANSACTION. Si se ejecuta la instrucción SET TRANSACTION, la transacción utiliza las propiedades especificadas en esa instrucción.

Slide 8

    Sintaxis Set Transaction
     la sintaxis utilizada para una instrucción SET TRANSACTION. En su forma más básica, la sintaxis luce de la siguiente manera:                            SET [ LOCAL ] TRANSACTION [ { , } ... ] se puede ver que el único tipo diferente de opción que se necesita especificar es aquel representado por el marcador de posición . Existen tres tipos de modos de transacción que se pueden especificar:                                  *Nivel de acceso                                  *Nivel de aislamiento                                  *Tamaño de diagnóstico Se deben especificar uno o más modos de transacción. Si se especifica más de uno, deben quedar separados por comas. Además, no se puede incluir más de uno del mismo tipo de los modos de transacción

Slide 9

     Silberschatz A. & Korth H. & Sudarshan F.. (2002). Fundamentos de Bases de Datos. Madrid: McGraw-Hill.Microsoft. (2010). Transacciones (motor de la base de datos). agosto 19, 2010, de TechNet Sitio web: https://technet.microsoft.com/es-es/library/ms190612(v=sql.105).aspxOppel, Andy. & Sheldon, Robert.. (2010). Fundamentos de SQL. Madrid: McGRAW-HILL.
    Bibliografía
Show full summary Hide full summary

Similar

Bases de Datos
marcos100299
Transacciones de Datos
victor1_game
SEGURIDAD EN BASES DE DATOS
milena CASAS
Modelos de Bases de Datos
ALFREDO JIMENEZ 7657
Modelo Jerarquico
ALFREDO JIMENEZ 7657
Bases de Datos
darwinfet
Principios de Psicología
anrago63
Aprendizaje y enseñanza de los contenidos escolares 1: Datos y Conceptos
maya velasquez
TECNICAS DE RECOLECCION DE DATOS
Francisco Gómez