¡GoConqr estrena diseño! Cuéntanos qué te parece.

Diapositivas

Transacciones Base de datos

Jose Granja Español 16 diapositivas

Diapositivas del conjunto (16)

  1. Transacciones SQL

    • Jose Manuel Granja Briseño
  2. Diapositiva 2

    • Una transacción es un
    • conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir,
    • en forma indivisible o atómica.
  3. Diapositiva 3

    • Se dice transaccional, si la base de datos es capaz de mantener la integridad de los datos, haciendo que estas
    • transacciones no puedan finalizar en un estado intermedio.
  4. Diapositiva 4

    • Una transacción debe contar con ACID que
    • quiere decir Atomicidad, Consistencia, Aislamiento y Durabilidad, por sus
    • silabas en ingles.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. Diapositiva 9

    • En un sistema ideal, las transacciones deberían
    • garantizar todas las propiedades ACID; en la práctica, a veces alguna de
    • estas propiedades se simplifica o debilita con vistas a obtener un mejor
    • rendimiento.
  10. Diapositiva 10

    • Es responsabilidad de un sistema de base de datos corporativo, como una
    • instancia de Motor de base de datos, proporcionar los mecanismos que aseguren
    • la integridad física de cada transacción. Un buen motor de base de datos
    • proporciona:
  11. Diapositiva 11

    • Servicios de bloqueo que
    • preservan el aislamiento de la transacción.
    • Servicios de registro que
    • aseguran la durabilidad de la transacción. Aunque se produzca un error en
    • el hardware del servidor, el sistema operativo o la instancia de Motor de
    • base de datos, la instancia utiliza registros de transacciones, al
    • reiniciar, para revertir automáticamente las transacciones incompletas al
    • punto en que se produjo el error del sistema.
    • Características de
    • administración de transacciones que exigen la atomicidad y coherencia de
    • la transacción. Una vez iniciada una transacción, debe concluirse
    • correctamente; en caso contrario, la instancia de Motor de base de datos
    • deshará todas las modificaciones de datos realizadas desde que se inició
    • la transacción.
  12. Diapositiva 12

    • Por regla general en los gestores de
    • datos relacionales modernos disponemos de tres tipos de transacciones según la
    • forma de iniciarlas:
  13. Diapositiva 13

    • ·
    • 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.
  14. Diapositiva 14

    • Las transacciones en PostgreSQL utilizan las siguientes palabras reservadas:
    • BEGIN: Empieza la transacción
    • SAVEPOINT [name]: Le dice al DBMS la localización de un punto de retorno en la transacción si una parte de la transacción es cancelada. El DBMS guarda el estado de la transacción hasta este punto.
    • COMMIT: Todos los cambios realizados por las transacciones deben ser permanentes y accesibles a las demás operaciones del DBMS.
    • ROLLBACK [savepoint]: Aborta la actual transacción todos los cambios realizados deben ser revertidos.
  15. Diapositiva 15

    • Transacciones anidadas. Podemos anidar varias transacciones. Cuando anidamos varias transacciones la instrucción COMMIT afectará a la última transacción abierta, pero ROLLBACK afectará a todas las transacciones abiertas.
    • Un hecho a tener en cuenta, es que, si hacemos ROLLBACK de la transacción superior se desharan también los cambios de todas las transacciones internas, aunque hayamos realizado COMMIT de ellas.
  16. Referencias

    • http://www.devjoker.com/contenidos/catss/292/Transacciones-en-Transact-SQL.aspx
    • https://msdn.microsoft.com/es-es/library/ms174377(v=sql.120).aspx
    • http://www.postgresql.org.ar/trac/wiki/tutorial-transactions.html
    • http://xomalli.blogspot.mx/2013/03/entendiendo-transacciones-con-postgresql.html
    • https://www.postgresql.org/docs/8.4/static/sql-begin.html

Información

Descripción
Transacciones de bases de datos
Creado por
Jose Granja
Visitas
233
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?