Casos Prácticos
Nº alumno | Tutor | Despacho-Tut | Clase1 | Clase2 | Clase3 |
1022 | García | 412 | 101-07 | 143-01 | 159-02 |
4123 | Díaz | 216 | 201-01 | 211-02 | 214-01 |
Las tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos de un problema de diseño.
Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deberían hacerlo. Otra forma de considerar ese problema es con una relación de uno a varios y poner el lado de uno y el lado de varios en tablas distintas. En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (Nº clase), según se muestra a continuación:
Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deberían hacerlo. Otra forma de considerar ese problema es con una relación de uno a varios y poner el lado de uno y el lado de varios en tablas distintas. En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (Nº clase), según se muestra a continuación:
Nº alumno | Tutor | Despacho-Tut | Nº clase |
1022 | García | 412 | 101-07 |
1022 | García | 412 | 143-01 |
1022 | García | 412 | 159-02 |
4123 | Díaz | 216 | 201-01 |
4123 | Díaz | 216 | 211-02 |
4123 | Díaz | 216 | 214-01 |
Observe los diversos valores de Nº clase para cada valor de Nº alumno en la tabla anterior. Nº clase no depende funcionalmente de Nº alumno (la clave principal), de modo que la relación no cumple la segunda forma normal.
Las dos tablas siguientes demuestran la segunda forma normal:
Alumnos:
Las dos tablas siguientes demuestran la segunda forma normal:
Alumnos:
Nº alumno | Tutor | Despacho-Tut |
1022 | García | 412 |
4123 | Díaz | 216 |
Registro:
Nº alumno | Nº clase |
1022 | 101-07 |
1022 | 143-01 |
1022 | 159-02 |
4123 | 201-01 |
4123 | 211-02 |
4123 | 214-01 |
En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla Personal, según se muestra a continuación:
Alumnos:
Alumnos:
Nº alumno | Tutor |
1022 | García |
4123 | Díaz |
Personal:
Nombre | Habitación | Dept |
García | 412 | 42 |
Díaz | 216 | 42 |
No hay comentarios:
Publicar un comentario