la 4 forma normal previamente debe encontrarse en la 3FN o en la forma normal Boyce/Codd(o en ambas)asimismo,que no exista dependencia multivalores entre los atributos(es una donde la existencia de dos o más relaciones independientes muchos a muchos causa redundancia; y es esta redundancia la que es suprimida por la cuarta forma normal. ) y si es que las hubiera lo que se debe hacer es crear una nueva tabla separada de la clave primaria y el dato que se encuentra en esta relación.
Ejemplo1:
en este caso se muestra que un alumno determinado puede llevar muchas asignaturas de arte desde 1 asta 3 en este caso como en numero de asignaturas que puede llevar es finito lo que se recomienda hacer es evitar el agrupamiento y aderir mas columnas lo suficientes para que no exista el agrupamiento
Alumnos
| |
N_nombre
|
N_Artes
|
José
|
guitarra, danza, pintura
|
Joan
|
pintura, canto
|
Carlos
|
pintura, danza, canto
|
Alumnos
N_nombre
|
N_Artes1
|
N_Artes2
|
N_Artes3
|
José
|
guitarra
|
danza
|
pintura
|
Joan
|
pintura
|
canto
| |
Carlos
|
pintura
|
danza
|
canto
|
Ejemplo2:
En este ejemplo se indica que un alumno puede sacar muxhos libros de la biblioteca pero que en el momento de realizar el reguistro de los mismo se esta realizando de form agrupada lo cual es incorrecto
C_Alumno
|
N_Texto
|
123
|
Algebra, Discretas
|
354
|
Calculo, Física
|
514
|
Química, Algebra
|
a continuacion de muestra la manera correcta
C_Alumno
|
N_texto1
|
N_texto2
|
123
|
Algebra
|
Discretas
|
354
|
Calculo
|
Física
|
514
|
Química
|
Algebra
|
Ejemplo 3:
en este caso debemos tomas en cuenta algunas restricciones que son que un bebe puede ser atendido por 1 o mas enfermeras y por 1 o mas médicos y asi mismo cada bebe tiene solo 1 madre
Nacimientos
(Bebe,Madre,Enfermera,Médico)
como se observa en la relacion para un mismo bebe se estan registrando datos repetidos en cuanto al nombre de la enfermera y del médico hacer una tabla de esta manera es erroneo ya que puede darse el caso de que se pueda escribir mal un apellido como en el caso de la enfermera Melendez en un primer momento puedo escribirlo con "Z" pero en uno posterior con "S" o Nuñez. Lo cual, causaria un dato erroneo y por ende problemas con los resgistros del Hospital o la Clinica.
C_Bebe
|
Enfermera
|
Médico
|
bebe1
|
Meléndez
|
Rivadeneira
|
bebe1
|
Meléndez
|
Medina
|
bebe1
|
Meléndez
|
Nuñez
|
bebe1
|
López
|
Nuñez
|
bebe1
|
López
|
Medina
|
bebe1
|
López
|
Rivadeneira
|
la Forma de solucionar este caso es el siguiente como no se sabe el numero determinado de medicos que atenderan lo ideal es separar los datos en tablas distintas como se muestra a continuacion
(Bebe,Enfermera)
C_Bebe
|
Enfermera
|
bebe1
|
Meléndez
|
bebe1
|
López
|
C_Bebe
|
Médico
|
bebe1
|
Rivadeneira
|
bebe1
|
Medina
|
bebe1
|
Nuñez
|
Ejemplo 4:
En este ejemplo supongamos que nos indican que un alumno puede llevar maximo 5 cursos en ese caso tambien solo tendre 5 profesores uno para cada curso entonces no podemos agrupar todos los profesores en una sola columna es por ello que lo ideal es separar cada nombre de profesor en una columna correspondiente como se muestra
(C_Curso,N_Profesores)
C_Curso,N_Profesor1,N_Profesor2,N_Profesor3,N_Profesor4,N_Profesor5)
Por ultimo,El principal problema con la violación de la cuarta forma normal (4FN) es que existe incertidumbre en cuanto a las políticas de mantenimiento
No hay comentarios:
Publicar un comentario