cuestiones de repaso_capitulo_20

6

Click here to load reader

Upload: carlos-francisco-ojeda-urena

Post on 03-Jul-2015

78 views

Category:

Technology


1 download

DESCRIPTION

UTPL Cuestiones de repaso del capitulo 20

TRANSCRIPT

Page 1: Cuestiones de repaso_capitulo_20

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

Page 2: Cuestiones de repaso_capitulo_20

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

Page 3: Cuestiones de repaso_capitulo_20

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

Page 4: Cuestiones de repaso_capitulo_20

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.

Page 5: Cuestiones de repaso_capitulo_20

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

Page 6: Cuestiones de repaso_capitulo_20

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)