Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Acceso Concurrente a Bases de Datos: Ejercicios y Preguntas, Ejercicios de Programación de Bases de Datos

Programación de Bases de Datos

Tipo: Ejercicios

2019/2020

Subido el 07/09/2022

AlfinduL
AlfinduL 🇪🇸

5 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Uso de bases de datos
PEC 2: Acceso concurrente a bases de datos
Pregunta 1 (50% puntuación)
Enunciado
Sea un SGBD sin ningún mecanismo de control de concurrencia, y suponiendo que se produce el
horario que se muestra en la página siguiente (donde R=lectura; RU=lectura con intención de
actualización, W=escritura; las acciones se han numerado para facilitar su referencia).
Se pide, argumentando brevemente vuestra respuesta:
1. Indicad si hay interferencias en el horario propuesto, cuáles son, entre qué transacciones y
para qué gránulos.
2. En caso de haber encontrado interferencias en el horario, indicad cuál es el nivel de
aislamiento mínimo del SQL estándar que haría falta para evitar cada una de ellas por
separado. ¿Cuál sería el nivel mínimo de aislamiento si las quisiéramos evitar todas
simultáneamente?
3. ¿Es recuperable el horario anterior? Indicad cuáles son los horarios seriables equivalentes.
4. Aplicad un mecanismo de control de concurrencia basado en reservas S, X y donde las
transacciones trabajan con un nivel de aislamiento de READ COMMITTED. ¿Cómo quedaría el
horario? ¿Se evitan las interferencias del horario inicial? ¿Cuál es el horario en serie
equivalente?
5. Aplicad un mecanismo de control de concurrencia basado reservas S, X y donde las
transacciones trabajan con un nivel de aislamiento de REPEATABLE READ. ¿Cómo quedaría el
horario? ¿Se evitan las interferencias del horario inicial? ¿Hay algún horario en serie
equivalente?
Nota: Es posible que en los apartados 4 y 5, como consecuencia de aplicar las reservas indicadas,
puedan existir diferentes propuestas de solución igualmente válidas dependiendo del orden de
ejecución de las operaciones de las transacciones.
Criterios de evaluación
Todas las preguntas tienen el mismo peso.
Las preguntas no contestadas no penalizan.
Se valorará la calidad de la respuesta en relación a los contenidos de los módulos didácticos, y
el hecho de no entrar en contradicciones en las explicaciones.
1
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Acceso Concurrente a Bases de Datos: Ejercicios y Preguntas y más Ejercicios en PDF de Programación de Bases de Datos solo en Docsity!

Uso de bases de datos

PEC 2: Acceso concurrente a bases de datos

Pregunta 1 (50% puntuación)

Enunciado

Sea un SGBD sin ningún mecanismo de control de concurrencia , y suponiendo que se produce el horario que se muestra en la página siguiente (donde R=lectura; RU=lectura con intención de actualización, W=escritura; las acciones se han numerado para facilitar su referencia). Se pide, argumentando brevemente vuestra respuesta:

  1. Indicad si hay interferencias en el horario propuesto, cuáles son, entre qué transacciones y para qué gránulos.
  2. En caso de haber encontrado interferencias en el horario, indicad cuál es el nivel de aislamiento mínimo del SQL estándar que haría falta para evitar cada una de ellas por separado. ¿Cuál sería el nivel mínimo de aislamiento si las quisiéramos evitar todas simultáneamente?
  3. ¿Es recuperable el horario anterior? Indicad cuáles son los horarios seriables equivalentes.
  4. Aplicad un mecanismo de control de concurrencia basado en reservas S, X y donde las transacciones trabajan con un nivel de aislamiento de READ COMMITTED. ¿Cómo quedaría el horario? ¿Se evitan las interferencias del horario inicial? ¿Cuál es el horario en serie equivalente?
  5. Aplicad un mecanismo de control de concurrencia basado reservas S, X y donde las transacciones trabajan con un nivel de aislamiento de REPEATABLE READ. ¿Cómo quedaría el horario? ¿Se evitan las interferencias del horario inicial? ¿Hay algún horario en serie equivalente? Nota : Es posible que en los apartados 4 y 5, como consecuencia de aplicar las reservas indicadas, puedan existir diferentes propuestas de solución igualmente válidas dependiendo del orden de ejecución de las operaciones de las transacciones.

Criterios de evaluación

● Todas las preguntas tienen el mismo peso. ● Las preguntas no contestadas no penalizan. ● Se valorará la calidad de la respuesta en relación a los contenidos de los módulos didácticos, y el hecho de no entrar en contradicciones en las explicaciones.

● Se tienen que justificar las respuestas para conseguir la puntuación máxima en todos los apartados. ● Las respuestas no argumentadas se considerarán como no contestadas. #Acc T1 T2 T 10 R(B) 20 RU(B) 30 W(B) 40 RU(C) 50 W(C) 60 R(C) 70 RU(A) 80 RU(A) 90 W(A) 100 W(A) 110 RU(E) 120 W(E) 130 R(D) 140 R(E) 150 RU(E) 160 W(E) 170 COMMIT 180 COMMIT 190 COMMIT 200 210

Criterios de evaluación

● Todas las preguntas tienen el mismo peso. ● Las preguntas no contestadas no penalizan. ● Se valorará la calidad de la respuesta en relación a los contenidos de los módulos didácticos, y el hecho de no entrar en contradicciones en las explicaciones. ● Se tienen que justificar las respuestas para conseguir la puntuación máxima en todos los apartados. ● Las respuestas no argumentadas se considerarán como no contestadas. Pregunta 3 (20% puntuación) Enunciado ● Utilizando la tabla siguiente: CREATE TABLE employee( id SMALLINT PRIMARY KEY, name VARCHAR(255)); y los siguientes datos iniciales: INSERT INTO employee VALUES( 1, 'Pere'); Explicad por qué PostgreSQL no bloquea T1 a la hora de ejecutar el UPDATE. #acc T1 T 10 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 20 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; 30 SELECT * FROM employee WHERE id = 1 40 UPDATE employee SET name = 'Carlos' WHERE id = 1 50 COMMIT

60 COMMIT

● Indicad si las afirmaciones siguientes son ciertas o falsas. Razonad brevemente vuestra respuesta.

  1. Una transacción con nivel de aislamiento READ COMMITTED no puede cumplir el PR2F estricto.
  2. Utilizando PostgreSQL, una transacción con nivel de aislamiento READ UNCOMMITTED puede tener interferencias que se pueden evitar con READ COMMITTED.

Criterios de evaluación

● Todas las preguntas tienen el mismo peso. ● Las preguntas no contestadas no penalizan. ● Las respuestas sin argumentación no serán evaluadas. ● Se valorará la calidad de la respuesta en relación a los contenidos de los módulos didácticos, y el hecho de no entrar en contradicciones en las explicaciones.