====== Examen Final - 75.15. Base de Datos - 12/08/2009 ====== **Cátedra:** Ale (catedra unica)\\ **Fecha:** 2° Oportunidad - (2° Cuatrimestre) 2008\\ **Día:** 19/08/2009 Esta página está incompleta; podés ayudar completando el material. ===== Enunciado ===== ==== Ejercicio I ==== Sea R=(A,B,C,D,E,I) y M=\{A \rightarrow \rightarrow BCD, B \rightarrow AC, C \rightarrow D \}. \\ Esta en 4FN?. Justifique su respuesta. Si la respuesta es NO, normalizar R a 4FN. ==== Ejercicio II ==== Estimar el tamaño de la junta R(A,B) |x| S(B,C) usando histogramas para R.B y S.B. Asumir V(B,R)=20, V(B,S)=21 y los siguientes histogramas, donde se dan las frecuencias para los 4 valores más comunes. \\ ^ ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ otros ^ ^ RB | 5 | 6 | 4 | 5 | | 32 | ^ SB | 10 | 8 | 5 | | 7 | 51 | ==== Ejercicio III ==== Dada la siguiente consulta sobre la tabla R(A,B,C,D): SELECT [...] FROM R GROUP BY A,B Asumir que ABCD toman valores enteros. \\ Cual de las siguientes puede aparecer en la posición marcada como [...] - Min(C+D) - A,B - C,D - 2 solamente. - 1 y 2 solamente. - 1, 2 y 3. - Ninguna de las anteriores. ==== Ejercicio IV ==== La siguiente es una secuencia de registros de un log **redo** grabado para las transacciones //T, U y V.// \\ (T, START); (T,A,10); (U, START); (U,B,20); (T,C,30); (START CKPT [T, U]); (U,D,40); (U, Commit); (T,E,50); (V, START); (V,C,45); (END CKPT); (V, Commit); (T,D,45) Describir brevemente las acciones del recovery manager (**cambios a disco solamente**), si el sistema bootea después de una caída y descubre este log. ===== Respuesta ===== ==== Ejercicio I ==== R esta en 4FN si: \\ \left. \begin{array}{ll} \forall X \rightarrow \rightarrow Y \\ Y \notin X \\ XY \not= R \\ \end{array} \right\} \Longrightarrow X \in Superclave Lo primero que tenemos que buscar es la clave de R, y encontramos que es BEI, ya que BEI^+ = ABCDEI \\ Ahora, haciendo uso del cuarto axioma y reglas de inferencia para dependencias multivaluadas que dice: X \rightarrow Y \Longrightarrow X \rightarrow \rightarrow Y, por lo que nos quedaría M'=\{A \rightarrow \rightarrow BCD, B \rightarrow \rightarrow AC, C \rightarrow \rightarrow D \}. \\ Vemos que ninguna de las dependencias multivaluadas cumple las restricciones de 4FN, por lo que tenemos que dividirlo usando el algoritmo 8 del libro (pag 133) nos queda en 4FN. ==== Ejercicio II ==== Primero tenemos que estimar los números que faltan: - RB(4) = \frac{otros}{V(B,R) - ValoresDefinidos} = \frac{32}{20-4} = 2 - SB(3) = \frac{otros}{V(B,S) - ValoresDefinidos} = \frac{51}{21-4} = 3 Por lo que ahora la tabla nos queda: ^ ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ otros ^ ^ RB | 5 | 6 | 4 | 5 | 2 | 32 | ^ SB | 10 | 8 | 5 | 3 | 7 | 51 | Para 0: 5*10 = 50 \\ Para 1: 6*8 = 48 \\ Para 2: 4*5 = 20 \\ Para 3: 5*3 = 15 \\ Para 4: 2*7 = 14 \\ Para otros: Primero tengo que calcular la cantidad de valores que tengo que juntar: cant = Min[V(B,R)-ValoresDefinidosDeR; V(B,S)-ValoresDefinidosDeS] . Y ahora con ese valor: cant*avg(otros,R)*avg(otros,S) = 15*\frac{32}{16}*\frac{51}{17} = 90 \\ Por lo que el resultado me queda como la suma de cada valor: 50 + 48 + 20 + 15 + 14 + 90 = 237 tuplas ==== Ejercicio III ==== La respuesta correcta es la 2, es decir, solamente A,B, ya que para el resto de las opciones tendríamos varios resultados ??Discusión: para mi son validas las 3, pueden aparecer todas; el problema es que si ponés la 1 y la 3, no se van a agrupar ==== Ejercicio IV ==== U=40 T=50 V=45 Flush