tema5 ejercicio05 normalizacion 120306104428 phpapp01

4
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

Upload: manalgarx

Post on 28-Dec-2015

43 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tema5 Ejercicio05 Normalizacion 120306104428 Phpapp01

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

Page 2: Tema5 Ejercicio05 Normalizacion 120306104428 Phpapp01

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

Page 3: Tema5 Ejercicio05 Normalizacion 120306104428 Phpapp01

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

Page 4: Tema5 Ejercicio05 Normalizacion 120306104428 Phpapp01

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