Antes de nada, comenzaré definiendo que una tabla estará en FNBC si y sólo si está en 3FN y los únicos determinantes son claves candidatas.
Además, se dice que será DMV si:
Se dice que un atributo RY es DMV de un atributo RX si un rango específico de valores Y está determinado por un valor específico de X.
En conclusión es una relación de MUCHOS A MUCHOS.
Ejm 1:
Como vemos:
C_Alumno posee muchos deportes y C_Alumno posee muchos cursos.
Entonces estamos ante una relación de muchos a muchos, es decir DMV.
Aplicamos la 4FN para separar la Tabla creando 2 nuevas:
Alumno_X_Deporte
Alumno_X_Curso
De este modo vemos resuelto el problema con el empleo de estas 2 tablas, como vemos la dependencia multivalor desapareció dando paso a 2 relaciones.
Para fines informativos: los ejemplos 2,3,4 se basan en la estructura del primero por ello sólo colgaré las imágenes de las tablas.
Ejm2:
Si un parto lo pueden atender una o mas enfermeras y uno o más médicos.
C_Bebe ->> Médico
C_Bebe ->> Enfermera
Creamos dos tablas:
Bebe_X_Medico
Ejm 3:
N_Restaurante ->> N_Plato
N_Restaurante ->>T_Lugar_Envio
Restaurante_X_Plato
Restaurante_X_Lugar
Ejm4:
N_Tienda ->> N_Marca
N_Tienda ->> N_Sede
Tienda_X_Marca
Tienda_X_Sede
Gráficamente, la 4FN falla cuando no está aplicada es decir cuando se presentan casos de DMV o simplemente la FNBC está mal aplicada.
Esos gráficos se encuentran incluidos en los 4 ejemplos anteriores en las primeras imágenes de cada ejemplo exáctamente. Vemos que poseen DMV lo cual provoca redundancia en la modelación.
No hay comentarios:
Publicar un comentario