Title | 1 Descomposicion en FNBC 1-2 |
---|---|
Course | Bases de Datos I |
Institution | Universidade da Coruña |
Pages | 2 |
File Size | 102.7 KB |
File Type | |
Total Downloads | 16 |
Total Views | 148 |
Ejercicio normalización...
Descomposición en FNBC Descomposición en FNBC sin pérdida de información. No garantiza la preservación de las dependencias funcionales Sea la relación R(A, B, C, D) con F = {AB, BC} Claves candidatas: AD Está en 1ªFN: • •
AB: B atributo no primo; dep. parcial con respecto a la clave candidata AD BC: el determinante (B) no es clave candidata
Cualquiera de las dos df’s impide que R esté en FNBC. Podemos usar cualquiera de las dos como punto de partida. HEURÍSTICA: Elegir la df con ningún atributo de la “parte derecha” en la “parte izquierda” de otra df Alternativa A La heurística nos recomienda que empecemos por BC Descomposicion: R1 (B,C) F1 = { BC } CC: B Está en FNBC. Nos quedamos con R1 Resto1(A,B,D) Fr1={AB} CC: AD Está en 1ª FN: B (atributo no primo) depende parcialmente de la clave candidata AD Procedemos a descomponer Resto1. Elegimos AB como df de partida: R2(A,B) F2={AB} CC: A Está en FNBC. Nos quedamos con R2 R3(A,D) F3=Ø CC: AD Está en FNBC. Nos quedamos con R3
Alternativa B Elegimos empezar la descomposición de R tomando como referencia la df AB Descomposición: R1 (A,B) F1 = { AB } CC: A Está en FNBC. Nos quedamos con R1 Resto1(A,C,D) Fr1={AC} OJO: ESTA DEPENDENCIA ESTABA IMPLÍCITA EN F!!!! CC: AD Está en 1ª FN: C (atributo no primo) depende parcialmente de la clave candidata AD Procedemos a descomponer Resto1. Elegimos AC como df de partida: R2(A,C) F2={AC} CC: A Está en FNBC. Nos quedamos con R2 R3(A,D) F3=Ø CC: AD Está en FNBC. Nos quedamos con R3
¿Cuál es la desventaja de esta descomposición alternativa? Hemos perdido una dependencia funcional: B C!!!!! ¡Por eso es recomendable seguir la heurística! Y aun así, no tenemos garantizado que se conserven todas las df’s...