1
UNIVERSIDAD TECNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Escuela de Ciencias de la Computación
Titulación de Sistemas Informáticos y Computación
Cuestiones de Repaso Cap. 20
Alumno: Carlos Francisco Ojeda Ureña
Docentes: Angel Eduardo Encalada Encalada
Fecha: 29/05/2013
Periodo académico
Abril 2013 - Agosto 2013
2
Cuestiones de Repaso Capitulo 20
Explique el concepto de transacción. ¿Por qué son las transacciones
unidades de operación tan importante en un SGBD?
Son un conjunto de acciones que se realizan de una manera de trabajo lógico que
lleva a la base de datos, estás pueden ser coherentes o incoherentes, pero que en
su respuesta darán un resultado acorde con lo solicitado.
Los aspectos de coherencia y fiabilidad de las transacciones se
deben a las propiedades ACID de las mismas. Explique cada una de
dichas propiedades y cómo se relacionan con los mecanismos de
control de concurrencia y de recuperación. Proporcione ejemplos
para ilustrar su respuesta.
La coherencia de las transacciones permite llevar de un estado coherente a otro a
la base de datos. La fiabilidad es que las actualizaciones de la base de datos sean
verdaderas no solo correctas sino que se asegure que los nuevos datos
corresponden al resultado de una operación. El control de concurrencia permite
que los accesos a la base de datos se efectúen en un orden logrando de este
modo que las actualizaciones y los accesos a los datos sean coherentes, el
proceso de recuperación es también un aspecto importante, ya que es necesario
que se recuperen los datos almacenados antes de un fallo, y que estos sean
verdaderos.
Respecto a la coherencia de los datos, en un supermercado donde los accesos
son concurrentes debido al registro de los productos vendidos, es necesario que
se actualice correctamente los inventarios o la base de datos en la que se
almacenan las existencias de un producto, ya en el sistema pueden existir más del
mismo producto cuando en realidad no los hay, entonces acceder y almacenar los
datos coherentes es muy necesario. A parte de esto está la fiabilidad, que en
3
realidad muestra que tan ciertos son los datos que se almacenan, por ejemplo si
en la base de datos del supermercado, existe un fallo por cualquier motivo, la base
de datos tiene que asegurarse de mantenerse en el estado coherente en el que se
hallaba antes de error, para poder proporcionar al cliente información verídica.
Describa, con ejemplos, los tipos de problemas que pueden
producirse en un entorno multiusuario cuando se permite un acceso
concurrente a la base de datos.
En el ejemplo del supermercado, cuando se están registrando los productos que
los clientes están comprando, hay accesos concurrentes a la base de datos, por lo
que pueden producirse problemas como:
Que los datos no estén actualizándose correctamente
Que si no se mantiene el orden de atención a las transacciones estas
podrían crear datos incoherentes, del programa.
Que no se almacenen los datos.
Los accesos no se realizan correctamente.
Los resultados de las operaciones no corresponden a las operaciones
realizadas.
Describa en detalle un mecanismo para control de concurrencia que
pueda usarse para garantizar que los tipos de problemas enunciados
en la Cuestión 20.3 no se produzcan. Muestre cómo dicho
mecanismo evita que aparezcan esos problemas. Explique cómo
interacciona el mecanismo de control de concurrencia con el
mecanismo de transacciones.
Una planificación secuencial o en serie es una de las opciones que se pueden
emplear ya que mediante este método lo más probable es que no haya
incoherencia en los datos, ya que se ejecutan una por una las transacciones, pero
consumiendo mucho tiempo lo que no es óptimo. Pero si se aplica de forma
4
correcta la planificación secuenciable o no serie, se obtiene una base de datos
coherente y sin que tome mucho tiempo ejecutar las transacciones.
Explique los conceptos de planificaciones serie, no serie y
serializables. Indique las reglas de equivalencia de planificadores.
Serie: Es en la cual las operaciones de un conjunto de transacciones concurrentes
están entrelazadas.
No serie: Es la cual las operaciones de cada transacción se ejecutan
consecutivamente sin que se entrelacen operaciones de otras transacciones.
Serializables: Se dice que si el conjunto de transacciones se ejecuta
concurrentemente y si produce los mismos resultados que alguna ejecución en
serie, se denomina planificación serializable.
Explique la diferencia entre serializabilidad de conflictos y
serializabilidad de vistas
Seriabilidad de conflictos: ordena las operaciones conflictivas de la misma manera
que alguna de las posibles ejecuciones serie.
Seriabilidad de vistas: no importa el orden en que se realicen las operaciones lo
que importa es que si un dato se lee producto de un transacción en la otra
planificación el dato a leer debe ser también producto de la misma transacción.
Explique los tipos de problemas que pueden tener lugar con los
mecanismos de control de concurrencia basados en bloqueo y las
acciones que el SGBD puede tomar para prevenirlos.
5
Anulación en cascada: Es que en una única transacción conduce a una serie de
anulaciones.
Se consigue en dos fases, que consiste en dejar la liberación de todos los
bloqueos hasta el final de la transacción.
Se puede provocar interbloqueos: Debido a que las transacciones pueden tener
que esperar a que se liberen los bloqueos sobre elementos de datos establecidos.
Puede existir que las transacciones queden en bloqueo indefinido, es decir que se
queden en un estado de espera indefinida. ACCIONES QUE TOMA SGBD Para
todo esto el SGBD utiliza un sistema de prioridades en la que la prioridad vaya
aumentando a medida que lo hace el tiempo de espera. Se pude utilizar una cola
de tipo FIFO
Ejercicio 20.18
Ejercicio literal (c)
Ordenación en forma secuencialPlanificación (forma en que fueron
llegando)
T1 T2
Read(balx)
Write(balx)
Write(balx)
abort
commit
Debido a que en la T2 existe un abort, la base de datos realiza un RollBack para
volver al punto de inicio pero esto no afecta a T1 y tanto en la ordenación y
planificación son similares se puede decir que:
Es serializable en cuanto a conflictos
Es serializable en cuanto a vistas debido que T2 última en escribir (balx)
T1 T2
Read(balx)
Write(balx)
commit
Write(balx)
abort
6
Ejercicio literal (d)
Ordenación en forma secuencialPlanificación (forma en que fueron
llegando)
T1 T2
Write(balx)
Write(balx)
abort
Read(balx)
commit
No es serializable en cuanto conflicto no solo por no ser similares si se ordena
secuencialmente
Sino también en la ordenación hay un abort antes de un commit y en cambio en la
planificación es al revés.
Es serializable en cuanto a vistas debido a que T1 es la última transacción en
escribir balx.
Ejercicio literal (e)
Ordenación en forma secuencialPlanificación (forma en que fueron
llegando)
T1 T2 T3
Read(balx)
Write(balx)
Write(balx)
Read(balx)
No es serializable en cuanto a conflictos por no ser similareas
Es serializable en cuanto a vistas tanto en T2 en forma ordenada secuencialmente
como en la planificación son las ultimas en escribir balx
T1 T2
Write(balx)
Read(balx)
Write(balx)
commit
abort
T1 T2 T3
Read(balx)
Write(balx)
Write(balx)
Read(balx)
Top Related