tema5 ejercicio05 normalizacion 120306104428 phpapp01
TRANSCRIPT
Dada la siguiente tabla, se pide normalizar hasta 3FN, explicando detalladamente el proceso
de normalización, así como las decisiones tomadas para realizar dicha normalización.
1FN
Una tabla esta en 1FN si en cada uno de sus campos no contiene atributos multivaluados.
Esta tabla no contiene en sus campos atributos multivaluados, entonces cumple la 1FN.
2FN
Una tabla esta en 2FN si esta en 1FN y además los atributos No Claves tienen dependencia
funcional completa con respecto de los atributos Claves.
Para saber que atributos son NO CLAVES y cuales son atributos CLAVES, es necesario hallar las
dependencias funcionales:
DF:
DNI->NOMBRE
CODIGO_PROY->NOMBRE_PROY,HORAS
DNI,CODIGO_PROY->DIRECCIÓN
DNI NOMBRE DIRECCIÓN CODIGO_PROY NOMBRE_PROY HORAS
12345678 B. Vela 23433 P1 Leonardo 2000
12345678 B. Vela 23433 P2 Alejandría 1500
12345678 B. Vela 23433 P3 Nikos 1600
45678901 A. B. Parrilla 97875 P1 Leonardo 2000
45678901 A. B. Parrilla 97875 P2 Alejandría 1500
45678901 A. B. Parrilla 79875 P3 Nikos 1600
78901234 S. Bermúdez 86754 P1 Leonardo 2000
78901234 S. Bermúdez 86754 P2 Alejandría 1500
89012345 A. Ortega 23456 P1 Leonardo 2000
DNI NOMBRE DIRECCIÓN CODIGO_PROY NOMBRE_PROY HORAS
12345678 B. Vela 23433 P1 Leonardo 2000
12345678 B. Vela 23433 P2 Alejandría 1500
12345678 B. Vela 23433 P3 Nikos 1600
45678901 A. B. Parrilla 97875 P1 Leonardo 2000
45678901 A. B. Parrilla 97875 P2 Alejandría 1500
45678901 A. B. Parrilla 79875 P3 Nikos 1600
78901234 S. Bermúdez 86754 P1 Leonardo 2000
78901234 S. Bermúdez 86754 P2 Alejandría 1500
89012345 A. Ortega 23456 P1 Leonardo 2000
Esta tabla no está en 2FN porque hay atributos(NOMBRE, NOMBRE_PROY, HORAS) que no
depende de todos los atributos claves de la tabla, la solución es descomponer la tabla según
las dependencias funcionales que nos han salido.
DNI->NOMBRE
CODIGO_PROY->NOMBRE_PROY,HORAS
DNI,CODIGO_PROY->DIRECCIÓN
DNI CODIGO_PROY DIRECCIÓN
12345678 P1 23433
12345678 P2 23433
12345678 P3 23433
45678901 P1 97875
45678901 P2 97875
45678901 P3 79875
78901234 P1 86754
78901234 P2 86754
89012345 P1 23456
Las tablas que se nos han generado están en 2FN puesto que todos los atributos no clave
depende de forma funcional completa de los atributos clave
DNI NOMBRE
12345678 B. Vela
45678901 A. B. Parrilla
78901234 S. Bermúdez
89012345 A. Ortega
CODIGO_PROY NOMBRE_PROY HORAS
P1 Leonardo 2000
P2 Alejandría 1500
P3 Nikos 1600
3FN
Una tabla esta en 3FN si esta en 2FN y además ningún atributo que no sea clave depende
transitivamente de las claves de la tabla
DNI->NOMBRE
CODIGO_PROY->NOMBRE_PROY,HORAS
CODIGO_PROY NOMBRE_PROY HORAS
P1 Leonardo 2000
P2 Alejandría 1500
P3 Nikos 1600
DNI,CODIGO_PROY->DIRECCIÓN
DNI CODIGO_PROY DIRECCIÓN
12345678 P1 23433
12345678 P2 23433
12345678 P3 23433
45678901 P1 97875
45678901 P2 97875
45678901 P3 79875
78901234 P1 86754
78901234 P2 86754
89012345 P1 23456
En las tablas que se nos han generado en 2ªFN no hay ningún atributo que dependa
transitivamente de las claves de la tabla, podemos decir entonces que las tablas están en
3ªFN.
DNI NOMBRE
12345678 B. Vela
45678901 A. B. Parrilla
78901234 S. Bermúdez
89012345 A. Ortega
FNBC
Una tabla esta en FNBC si está en 3FN y además todo determinante es una clave candidata.
Las tablas que se nos han generado cumplen esta FN, puesto todo determinante es una clave
cancidata.
DNI->NOMBRE
CODIGO_PROY->NOMBRE_PROY,HORAS
DNI,CODIGO_PROY->DIRECCIÓN
Las tablas anteriores están en FNBC puesto que están en 3FN y además todos los atributos
identificadores o determinantes son los únicos que pueden identificar a cada tabla y por lo
tanto son las únicas claves candidatas, puesto que el resto de atributos se podrían duplicar en
algún momento.
DNI NOMBRE
12345678 B. Vela
45678901 A. B. Parrilla
78901234 S. Bermúdez
89012345 A. Ortega
CODIGO_PROY NOMBRE_PROY HORAS
P1 Leonardo 2000
P2 Alejandría 1500
P3 Nikos 1600
DNI CODIGO_PROY DIRECCIÓN
12345678 P1 23433
12345678 P2 23433
12345678 P3 23433
45678901 P1 97875
45678901 P2 97875
45678901 P3 79875
78901234 P1 86754
78901234 P2 86754
89012345 P1 23456