Documente Academic
Documente Profesional
Documente Cultură
Ejemplo: Suponga que un diseador principiante desea guardar los nombres y los nmeros telefnicos de los clientes. Procede a definir una tabla de cliente como la que sigue:
Cliente
ID Cliente 123 456 Nombre Rachel James Apellido Ingram Wright Telfono 555-861-2025 555-403-1659
789
Cesar
Dure
555-808-9633
En este punto, el diseador se da cuenta de un requisito para guardar mltiples nmeros telefnicos para algunos clientes. Razona que la manera ms simple de hacer esto es permitir que el campo "Telfono" contenga ms de un valor en cualquier registro dado:
Cliente ID Cliente 123 456 789 Nombre Rachel James Cesar Apellido Ingram Wright Dure Telfono 555-861-2025 555-403-1659 555-776-4100 555-808-9633
El diseador puede evitar esta restriccin definiendo mltiples columnas del nmero telefnico:
Cliente
ID Cliente
123 456 789
Nombre
Rachel James Cesar
Apellido
Ingram Wright Dure
Telfono 1
555-861-2025 555-403-1659 555-808-9633
Telfono 2
555-776-4100
Telfono 3
Sin embargo, esta representacin hace uso de columnas que permiten valores nulos, y por lo tanto no se conforman con la definicin de la 1NF de Date. Incluso si se contempla la posibilidad de columnas con valores nulos, el diseo no est en armona con el espritu de 1NF. Telfono 1, Telfono 2, y Telfono 3, comparten exactamente el mismo dominio y exactamente el mismo significado; el dividir del nmero de telfono en tres encabezados es artificial y causa problemas lgicos. Un diseo conforme con 1FN, Un diseo que est inequvocamente en 1FN hace uso de dos tablas: una tabla de cliente y una tabla de telfono del cliente.
Telfono del cliente Cliente ID Cliente Telfono 555-861-2025 555-403-1659 555-776-4100 555-808-9633
ID Cliente
123 456 789
Nombre
Rachel James Cesar
Apellido
Ingram Wright Dure
En este diseo no ocurren grupos repetidos de nmeros telefnicos. En lugar de eso, cada enlace Cliente-a-Telfono aparece en su propio registro
Habilidades de los empleados Empleado Jones Habilidad Mecanografa Lugar actual de trabajo 114 Main Street
Jones
Jones Bravo Ellis
Taquigrafa
Tallado Limpieza ligera Alquimia
Ellis
Harrison
Malabarismo
Limpieza ligera
73 Industrial Way
73 Industrial Way
La nica clave candidata de la tabla es {Empleado, Habilidad}. El atributo restante, Lugar actual de trabajo, es dependiente solo en parte de la clave candidata, llamada Empleado. Por lo tanto la tabla no est en 2NF. Un alternativa 2NF a este diseo representara la misma informacin en dos tablas:
Harrison
73 Industrial Way
-Los atributos (columna) no pertenecientes a una clave (primaria o extranjera) son mutuamente independientes funcionalmente.
Ejemplo Un ejemplo de una tabla 2NF que falla en satisfacer los requerimientos de la 3NF es:
Ganadores del torneo Torneo Indiana Invitational Cleveland Open Ao 1998 1999 Ganador Al Fredrickson Bob Albertson Al Fredrickson Chip Masterson Fecha de nacimiento del ganador 21 de julio de 1975 28 de septiembre de 1968 21 de julio de 1975 14 de marzo de 1977
La nica clave candidata es {Torneo, Ao}. La violacin de la 3NF ocurre porque el atributo no primario Fecha de nacimiento del ganador es dependiente transitivamente de {Torneo, Ao} va el atributo no primario Ganador. Para expresar los mismos hechos sin violar la 3NF, es necesario dividir la tabla en dos:
Ganador
Chip Masterson Al Fredrickson Bob Albertson
Fecha de nacimiento
14 de marzo de 1977 21 de julio de 1975 28 de septiembre de 1968 Ganadores del torneo Torneo Indiana Invitational Cleveland Open Des Moines Masters Indiana Invitational Ao 1998 1999 1999 1999 Ganador Al Fredrickson Bob Albertson Al Fredrickson Chip Masterson
Vincenzo's Pizza
Vincenzo's Pizza
Corteza gruesa
Corteza fina
Shelbyville
Springfield
Vincenzo's Pizza
Elite Pizza Elite Pizza A1 Pizza A1 Pizza A1 Pizza A1 Pizza A1 Pizza A1 Pizza
Corteza fina
Corteza fina Corteza rellena Corteza gruesa Corteza gruesa Corteza gruesa Corteza rellena Corteza rellena Corteza rellena
Shelbyville
Capital City Capital City Springfield Shelbyville Capital City Springfield Shelbyville Capital City
Cada fila indica que un restaurante dado puede entregar una variedad dada de pizza a un rea dada. Note que debido a que la tabla tiene una clave nica y ningn atributo no-clave, no viola ninguna forma normal hasta el BCNF. Pero debido a que las variedades de pizza que un restaurante ofrece son independientes de las reas a las cuales el restaurante enva, hay redundancia en la tabla.
Para satisfacer la 4NF, debemos poner los hechos sobre las variedades de pizza ofrecidas en una tabla diferente de los hechos sobre reas de envo:
Variedades por restaurante Restaurante Vincenzo's Pizza Vincenzo's Pizza Elite Pizza Elite Pizza A1 Pizza A1 Pizza Variedad de pizza Corteza gruesa Corteza fina Corteza fina Corteza rellena Corteza gruesa Corteza rellena
Vincenzo's Pizza
Vincenzo's Pizza Elite Pizza
Springfield
Shelbyville Capital City
A1 Pizza
A1 Pizza A1 Pizza
Springfield
Shelbyville Capital City
En contraste, si las variedades de pizza ofrecidas por un restaurante a veces variaran de un rea de envo a otra, la tabla original de la tres columnas satisfara la 4NF.
procedemos a su normalizacin hasta FNBC. Aplicamos la regla de descomposicin sin prdidas a la dependencia que impide la restriccin en FNBC, Asignatura Profesor: PROFE_ASIG(profesor, asignatura) ESTU_PROFE(estudiante, profesor) Quedndonos las tablas:
Slo podemos asegurar una descomposicin sin prdidas para una normalizacin hasta 3FN, a partir de ella no podemos asegurar que no se pierdan dependencias. Si se llega a FNBC y se pierde una dependencia entonces podemos proceder de dos maneras posibles: 1.-Dejamos la normalizacin hasta 3FN. 2.-Rediseamos el entidad-relacin.