====== Examen Final - 75.15. Base de Datos - 18/02/09 ======
**Cátedra:** Ale\\
**Fecha:** 4ta Oportunidad - 2do Cuatrimestre 2008\\
**Día:** 18/02/2009
Esta página está incompleta; podés ayudar completando el material.
===== Enunciado =====
==== Punto I ====
Dada la talba SQL: R(A,B) y las queries:\\
Q1. SELECT * FROM R;\\
Q2. (SELECT * FROM R) INTERSECT (SELECT * FROM R);\\
Elija y justifique una opción:
- Q1 y Q2 retornan exactamente el mismo resultado
- El resultado de Q1 siempre está contenido en el de Q2
- El resultado de Q2 siempre está contenido en el de Q1
- Ambas queries retornan resultados diferentes
==== Punto II ====
Dado el esquema R(A,B,C,D), el cual se encuentra en FNBC, se sabe que tres de las siguientes Dependencias Funcionales se cumplen en R. Determine y justifique cuál es la que no se cumple.
- A \rightarrow BCD
- BC \rightarrow A
- CD \rightarrow B
- D \rightarrow C
==== Punto III ====
Sean tres transacciones T1, T2 y T3 y el siguiente plan de ejecución:\\
L_1(A);L_2(B);L_3(C);L_1(B);L_2(C);L_3(D);G_1(A);G_2(B);G_3(C)
- Coloque los locks correspondientes (SL, XL y UL)
- Indique qué sucede cuando el Scheduler que implementa los locks puestos en 1 ejecuta el plan
===== Resolución =====
==== Punto I ====
La respuesta es 3, ya que R puede tener duplicados, y el INTERSECT los elimina
==== Punto II ====
La dependencia que no se cumple es D \rightarrow C. Para resolverlo, basta ir probando de a conjuntos de a 3 DF, y sacar la clausura de los lados izquierdos de las restantes, para mostrar que son superclaves.
===== Discusión =====
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.