Unidad V Transacciones
- ¿Qué es una transacción?
Transacion:
trasferencia de fondos de una fuente a otra.
·
Numeros
de cuentas
·
Cantidad
a tranferir
·
Verificar
si tiene fondos.
·
Transferir
fondos
- ¿Qué significa ACID? y defina cada una de las
palabras que forman las siglas
Una unidad
lógica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades
ACID (atomicidad, coherencia, aislamiento y durabilidad), para ser calificacada
como transacción.
·
Atomicity : Una Transacción (Tx) se ejecuta
completamente ó de otra manera se eliminan los cambios parciales realizados.
Begin
Transaction - Programa - End Transaction
Responsable:
El método de recuperación, de no completar todas las operaciones, devuelve la
BD a su estado anterior a empezar esa Tx (rollback).
·
Coherencia: Asegura que los datos queobservamos
no cambian (por otros usuarios) hasta que acabemos la Transacción.
Después
de terminar una Transacción la Base de datos no viola ninguna de sus reglas:
valores obligatorios, claves únicas,etc.
Responsable:
los programadores mediante la definición adecuada de la integridad referencial:
check, triggers, primary key, foreign key,…
·
Aislamiento: Los efectos de una Tx no son
visibles a otros usuarios mientras no se confirmen.
Una
Transacción en ejecución no puede revelar sus resultados a otras transacciones
concurrentes antes de finalizar.
Más
aun, si varias transacciones, se ejecutan concurrentemente, los resultados
deben ser los mismos que si ellas se hubieran ejecutado secuencialmente. Esto
se conoce como seriabilidad debido a que su resultado es 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
transacciones originales.d
Responsable:
el método de concurrencia: mecanismos, reglas, protocolos
·
Durabilidad: Si el sistema falla no debe
permitir que se pierdan las operaciones realizadas por Tx ya confirmadas.
Responsable:
el método o gestor de recuperación.
- ¿Qué significa Tx?
Es una transacion.
- ¿Para que nos sirve el Rollback?
·
Finaliza la transacción actual y deshace los
cambios realizados
·
Recuperacion, de no completar
todas las operaciones, devuelve la BD a su estado anterior a empezar esa Tx
- Defina Integridad de datos
El término integridad de datos se refiere a la corrección y completitud
de los datos en una base de datos. Cuando los contenidos se modifican con
sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados
puede perderse de muchas maneras diferentes. Pueden añadirse datos no válidos a
la base de datos, tales como un pedido que especifica un producto no existente.
- Defina concurrencia
El termino concurrencia se refiere al hecho de que los DBMS (SISTEMAS DE
ADMINISTRACION DEBD) permiten que muchas transacciones puedan accesar a unamisma
base de datos a la vez.
- Defina Grado de consistencia
Podría definirse como la coherencia entre todos los datos de la base de
datos. Cuando se pierde la integridad también se pierde la consistencia. Pero
la consistencia también puede perderse por razones de funcionamiento.
- Mencione aspectos relacionados al
procesamiento de transacciones
·
Modelo de estructura de transacciones. Es importante considerar si las
transacciones son planas o pueden estar anidadas.
·
Consistencia de la base de datos interna. Los algoritmos de control de datos
semántico tienen que satisfacer siempre las restricciones de integridad cuando
una transacción pretende hacer un commit.
·
Protocolos de confiabilidad.
En transacciones distribuidas es necesario introducir medios de comunicación
entre los diferentes nodos de una red para garantizar la atomicidad y
durabilidad de las transacciones. Así también, se requieren protocolos para la
recuperación local y para efectuar los compromisos (commit) globales.
·
Algoritmos de control de concurrencia. Los algoritmos de control de
concurrencia deben sincronizar la ejecución de transacciones concurrentes bajo
el criterio de correctitud. La consistencia entre transacciones se garantiza
mediante el aislamiento de las mismas.
·
Protocolos de control de réplicas. El control de réplicas se refiere a cómo garantizar la
consistencia mutua de datos replicados. Por ejemplo se puede seguir la
estrategia read-one-write-all (ROWA).
- Defina los estados de una transacción:
- Activa (Active): el estado inicial; la transacción permanece en este estado
durante su ejecución.
- Parcialmente comprometida (Uncommited): Después de ejecutarse la última transacción.
- Fallida (Failed): tras descubrir que no se puede continuar la ejecución normal.
- Abortada (Rolled Back): después de haber retrocedido la transacción y restablecido la base
de datos a su estado anterior al comienzo de la transacción.
- Comprometida (Commited): tras completarse con éxito.
- El estándar ANSI/ISO SQL define cuatro niveles
de aislamiento transaccional en función de tres eventos que son permitidos
o no dependiendo del nivel de aislamiento. Estos eventos son:
- Lectura sucia. Las sentencias SELECT son ejecutadas sin realizar bloqueos, pero
podría usarse una versión anterior de un registro. Por lo tanto, las
lecturas no son
consistentes al usar este nivel de aislamiento.
- Lectura norepetible. Una
transacción vuelve a leer datos que previamente había leído y encuentra
que han sido modificados o eliminados por una transacción cursada.
- Lectura fantasma. Una
transacción vuelve a ejecutar una consulta, devolviendo un conjuto de
registros que satisfacen una condición de búsqueda y encuentra que otros
registro que satisfacen la condición han sido insertadas por otra
transacción cursada.





