- Se encuentran todos los requisitos de la segunda forma normal.
- Se eliminan columnas que no dependen directamente de la llave primaria.
Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a la tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a más de un único registro de la tabla, considere colocar estos campos en una tabla independiente. Por ejemplo, en una tabla Contratación de empleados, puede incluirse el nombre de la universidad y la dirección de un candidato. Pero necesita una lista completa de universidades para enviar mensajes de correo electrónico en grupo. Si la información de las universidades se almacena en la tabla Candidatos, no hay forma de enumerar las universidades que no tengan candidatos en ese momento. Cree una tabla Universidades independiente y vincúlela a la tabla Candidatos con el código de universidad como clave.
EXCEPCIÓN: cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, códigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros. En teoría, la normalización merece el trabajo que supone. Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos.
Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al usuario que compruebe todos los campos relacionados cuando cambie alguno.
Ejemplo 1:
C_Colegio |
N_Colegio |
C_Pais |
$Precio |
C2458 |
Pitagoras |
P9 |
250 |
C2459 |
Pamer |
P7 |
320 |
C2460 |
Trilce |
P36 |
320 |
Columna1 |
Columna2 |
Columna3 |
C_Colegio |
N_Colegio |
C_Pais |
C2458 |
Pitagoras |
P9 |
C2459 |
Pamer |
P7 |
C2460 |
Trilce |
P36 |
C_Pais |
$Precio |
P9 |
250 |
P7 |
320 |
P36 |
320 |
Ejemplo 2
C_Autor |
N_Autor |
N_Libro |
$PrecioLibro |
458 |
Alucard |
Castelvania |
125.50 |
568 |
Hurley |
Ghost girl |
120.00 |
154 |
Sabato |
El tunel |
89.00 |
|
|
|
|
|
|
|
|
C_Autor |
N_Autor |
N_Libro |
|
458 |
Alucard |
Castelvania |
|
568 |
Hurley |
Ghost girl |
|
154 |
Sabato |
El tunel |
|
|
|
|
|
N_Autor |
$PrecioLibro |
|
|
Alucard |
125.50 |
|
|
Hurley |
120.00 |
|
|
Sabato |
89.00 |
|
|
Ejemplo 3:
Torneo |
Año |
Ganador |
Fecha de Nacimiento |
Gran Prix T. |
1998 |
Eduard E. |
21/06/1989 |
Torneo P. |
1999 |
Assh K. |
22/06/1989 |
E.Copa L. |
1999 |
Eduard E. |
21/06/1989 |
M.A.S.Q.E.V |
2001 |
Kotonoha S. |
24/06/1989 |
|
|
|
|
|
|
|
|
Torneo |
Año |
Ganador |
|
Gran Prix T. |
1998 |
Eduard E. |
|
Torneo P. |
1999 |
Assh K. |
|
E.Copa L. |
1999 |
Eduard E. |
|
M.A.S.Q.E.V |
2001 |
Kotonoha S. |
|
|
|
|
|
Participantes |
Fecha de Nacimiento |
|
|
Eduard E. |
21/06/1989 |
|
|
Assh K. |
22/06/1989 |
|
|
Kotonoha S. |
24/06/1989 |
|
|
No hay comentarios:
Publicar un comentario