Examen Final - 75.15. Base de Datos - 08/08/2012 [Foros-FIUBA::Wiki]
 

Examen Final - 75.15. Base de Datos - 08/08/2012

Cátedra: Ale
Fecha: 4ta oportunidad 1er cuat 2012
Día: 08/08/2012

Esta página está incompleta; podés ayudar completando el material.

Enunciado

Ejercicio I

Sea <tex>R=(A,B,C,D,E)</tex> y <tex>F=\{A \rightarrow B, B \rightarrow C, C \rightarrow AD, D \rightarrow E, E \rightarrow A\}</tex>
Normalizar a Boyce-Codd el esquema que resulta de proyectar <tex>R</tex> sobre <tex>ACE</tex>

Ejercicio II

Estimar el tamaño de la junta <tex>R(A,B) |x| S(B,C)</tex> si se cuenta con el siguiente histograma:

B<0 B=0 B>0
R 50 10 40
S 30 20 50

Asumir que existen 10 valores diferentes de <tex>B<0</tex> y 20 valores diferentes de <tex>B>0</tex>

Ejercicio III

Dado el siguiente esquema de base de datos:
Estudiante(enum,enombre,carrera,año,edad)
Clase(cnombre,horario,aula,Pid)
Cursa(enum,cnombre)
Profesor(Pid,pnombre,deptid)

Escribir una consulta SQL que permita, para cada valor de edad que aparece en Estudiante, hallar el valor de año que aparece más frecuentemente.
Por ejemplo, si hay más estudiantes de 20 años de edad en 2do año que en cualquier otro año para estudiantes de 20 a, listar el par (20,2do).
Nota: no deben listarse duplicados y la consulta debe ser tan concisa como resulte posible.

Ejercicio IV

Sea el siguiente log donde la secuencia está ordenada de izquierda a derecha y de arriba hacia abajo( <T1, start> es el primer registro y <T3, Z, 40, 80> es el último).
<T1, start> <T1, X, 5, 10> <T2, start>
<T2, X, 10, 20> <T1, commit> <T2, Y, 30, 60>
<Start checkpoint (T2)> <T2, W, 35, 70> <T3, start>
<T3, W, 70, 40> <checkpoint end> <T2, Z, 20, 40>
<T2, commit> <T3, Z, 40, 80>

El mecanismo de control de concurrencia es Locking de dos fases y solo hay locks de lectura (SL) y de grabación (XL)
a) Dado los supuestos, es posible que el log tenga los registros indicados? Explicar. Si la respuesta es NO, cuál es el primer registro “imposible” de log?, por qué? Eliminar ese registro. Es posibleque el log contenga la nueva secuencia? Nuevamente explicar por qué SI o por qué NO. Repetir hasta obtener una secuencia posible de registros de log.
b) Para la secuencia obtenida en a), cuáles son los posibles valores de X, Y, W y Z después que el último de esos registros es grabado al disco y antes de la recuperación? Explicar!

Respuestas

Ejercicio I

(Corregida por Ale)
Hay que proyectar las dependencias de F sobre ACE. El resultado eran varias dependencias funcionales tales que los lados izquierdos eran todos claves, por lo que ya estaba en FNBC.

Ejercicio II

Idem final del 12/08/2009 ejecicio 2, con otros numeros.

Para estimar el tamaño de esa junta tenemos que calcular cada rango por separado y sumarlos:

  • Para <tex>B < 0</tex>:
    <tex> \frac{50*30}{10} </tex>
  • Para <tex>B = 0</tex>:
    <tex> 10*20</tex>
  • Para <tex>B > 0</tex>:
    <tex> \frac{40*50}{20} </tex>

Entonces nos queda:

Tuplas Estimadas= <tex> \frac{50*30}{10} + 10*20 +  \frac{40*50}{20}</tex> = 450

Ejercicio III

(Corregida por Ale)
En la consulta SQL lo que había que hallar era el año mas frecuente, en cantidad de alumnos, para cada edad y no la moda de todo

Ejercicio IV

a) Hay 2 registros que están mal (distintas transacciones escriben en una misma variable y si el log es de dos fases, las ejecuciones deben ser serializables)
b) El log es undo/redo… seguir los pasos y ya.

materias/75/15/final_1_20120808_4.txt · Última modificación: 2014/01/23 23:24 por Estefi
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 3.0 Unported


Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki