====== 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á.