Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión o
creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición.
Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.
Revisión actual |
Tu texto |
Línea 1: |
Línea 1: |
| == Problemas ==
| |
|
| |
| ====Ejercicio 1==== | | ====Ejercicio 1==== |
|
| |
|
Línea 34: |
Línea 32: |
| #Normalicen estos esquemas lo mas posible(1) | | #Normalicen estos esquemas lo mas posible(1) |
| #Expresar en SQL: los nombres de las licenciadas en "Cs. de la Computacion"(2) | | #Expresar en SQL: los nombres de las licenciadas en "Cs. de la Computacion"(2) |
|
| |
|
| |
| == Soluciones ==
| |
|
| |
| ====Ejercicio 1====
| |
|
| |
| #Un cubrimiento minimal de DF tiene que tener: a) No mas de un atributo en el lado derecho b) Todos los lados izquierdos son reducidos c) No tener DF que puedan obtenerse derivando de las existentes (por transitividad, por ejemplo)
| |
| #
| |
|
| |
| ====Ejercicio 2====
| |
|
| |
| Un indice denso es aquel que en un bloque tiene tuplas (k,v), donde k es la clave y v es el puntero a la entrada correspondiente. Esta clase de indice existe para facilitar los joins, que se puede iterar secuencialmente para obtener todas las claves y valores correspondientes, a diferencia de indices esparsos que apuntan usualmente al primer elemento de un bloque.
| |
| Los indices densos sirven además para poder compactar los indices en pocos bloques si los registros apuntados son muy grandes.
| |
|
| |
| ====Ejercicio 3====
| |
| La clausura de X se puede obtener asi:
| |
|
| |
| Mientras X cambie:
| |
| Para toda A->B en F:
| |
| Si A ⊆ X:
| |
| X = X U B
| |
|
| |
| La idea del algoritmo es ir aumentando de una DF a la vez, y llegar a un punto donde, o esten todas las DF de F en X, o no haya ningun otra DF que permita aumentar X.
| |
| La complejidad del algoritmo depende de la cantidad de DF en F y la cantidad de atributos en R. En el peor caso, por cada iteracion externa se agrega un unico atributo nuevo. Eso quiere decir que se itera |R|*|F| veces. Luego O(R·F).
| |
|
| |
| ====Ejercicio 4====
| |