1
UNIVERSIDAD TECNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
Escuela de Ciencias de la Computación
Titulación ...
2
Cuestiones de Repaso Capitulo 20
Explique el concepto de transacción. ¿Por qué son las transacciones
unidades de operaci...
3
realidad muestra que tan ciertos son los datos que se almacenan, por ejemplo si
en la base de datos del supermercado, ex...
4
correcta la planificación secuenciable o no serie, se obtiene una base de datos
coherente y sin que tome mucho tiempo ej...
5
Anulación en cascada: Es que en una única transacción conduce a una serie de
anulaciones.
Se consigue en dos fases, que ...
6
Ejercicio literal (d)
Ordenación en forma secuencialPlanificación (forma en que fueron
llegando)
T1 T2
Write(balx)
Write...
Upcoming SlideShare
Loading in...5
×

Cuestiones de repaso_capitulo_20

82

Published on

UTPL Cuestiones de repaso del capitulo 20

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
82
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Cuestiones de repaso_capitulo_20"

  1. 1. 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. 2. 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. 3. 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. 4. 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. 5. 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. 6. 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)

×