Nombre : Jóse Luis Merino Rivera
Curso : Base de Datos
Profesor : Luis Enrique Serna Jherry
Ciclo : 2012-02
viernes, 31 de agosto de 2012
Que Resuelve la Segunda Forma Normal (2FN)
La Segunda Forma normal(2FN) es una dependencia funcional que consiste en edificar que atributos dependen de otros atributos.asimismo, para que se puede llegar a la segunda forma normal primero se debe estar en la primera forma normal.ademas se sabe que una tabla que ya se encuentra en primera forma normal estara en segunda forma normal solo si tiene una sola clave primaria y los atributos no claves dependen de forma directa de la clave primaria.
Por otro lado, cabe mencionar que si se cuenta con mas de una clave primaria debemos asegurarnos de que los atributos no primarios dependan de todas las claves(no debe existir dependencias parciales con las claves primarias). luego de cumplir con estos pasos podremos decir que hay una dependencia funcional completa (DFC).
En resumen la 2FN busca que los atributos que no son primarios siempre guarden dependencia con los atributos claves o PK.
Ejemplo1 :
Pizzeria:
(Ccliente,Ncombo,Dfecha,#Cantidad_a_Pagar)
Ejemplo2 :
Persona:
(CPersona,Nnombre,Ndireccion,Ntelefono)
Ejemplo3 :
Nota de un Alumno:
(Calumno,Ccurso,Nota)
Ejemplo4 :
Precio de Producto en Tienda:
(CTienda,CProducto,QPrecioProducto)
Ejemplo5 :
Acontinuacion, muestro en el siguiente ejemplo un ejemplo de erros sobre la Segunda Forma Normal
Por otro lado, cabe mencionar que si se cuenta con mas de una clave primaria debemos asegurarnos de que los atributos no primarios dependan de todas las claves(no debe existir dependencias parciales con las claves primarias). luego de cumplir con estos pasos podremos decir que hay una dependencia funcional completa (DFC).
En resumen la 2FN busca que los atributos que no son primarios siempre guarden dependencia con los atributos claves o PK.
Ejemplo1 :
Pizzeria:
(Ccliente,Ncombo,Dfecha,#Cantidad_a_Pagar)
Ejemplo2 :
Persona:
(CPersona,Nnombre,Ndireccion,Ntelefono)
Ejemplo3 :
Nota de un Alumno:
(Calumno,Ccurso,Nota)
Ejemplo4 :
Precio de Producto en Tienda:
(CTienda,CProducto,QPrecioProducto)
Ejemplo5 :
Acontinuacion, muestro en el siguiente ejemplo un ejemplo de erros sobre la Segunda Forma Normal
#Comprobante
|
C_Cliente
|
N_Cliente
|
D_Venta
|
40
|
C01
|
Juan
|
20/05/2002
|
50
|
C01
|
Juan
|
18/04/2002
|
10
|
C02
|
María
|
15/04/2002
|
20
|
C02
|
María
|
15/04/2002
|
En este ejemplo la clave primaria (PK) es #Comprobante y los otros atributos tiene dependencia de esta. Sin embargo, también hay una dependencia entre C_Cliente y N_Cliente.este caso por tanto no estaria cumpliendo con la 2FN
Normalización desde la 1FN Hasta la 4FN Paso a Paso
Universo:
Datos no Normalizados
C_Libro
|
N_Título
|
N_Autor
|
N_Editorial
|
N_Lector
|
D_Devolución
|
Aplicando la 1FN:
C_Libro
|
N_Título
|
N_Autor
|
N_Editorial
|
Paterno_Lector
|
Materno_Lector
|
N_Lector
|
D_Devolución
|
aqui los datos ya se encuentra atomizados es decir ya no pueden ser divididos mas.
Aplicando la 2FN:
C_Libro
|
N_Título
|
N_Autor
|
N_Editorial
|
C_Lector
|
Paterno_Lector
|
Materno_Lector
|
N_Lector
|
C_Libro
|
C_Lector
|
D_Devolucion
|
verificamos que los atributos no clave se encuentre en DF con los PK
Aplicando la 3FN:
C_Libro
|
C_Autor
| ||
C_Libro
|
C_Editorial
| ||
C_Lector
|
Paterno_Lector
|
Materno_Lector
|
N_Lector
|
C_Libro
|
C_Lector
|
D_Devolucion
|
Verificamos que no exista DT entre atributos no claves
Aplicando la 4FN:
C_Libro
|
C_Autor
| ||
C_Editorial
|
C_Libro1
|
C_Libro2
|
C_Libro3
|
C_Lector
|
P_Lector
|
M_Lector
|
N_Lector
|
C_Libro
|
C_Lector
|
D_Devolucion
|
no debe existir dependencia Multivariable
Que Resuelve la Cuarta Forma Normal (4FN)
4 Forma Normal
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
Aqui se muestra el ejercicio anterios ya corregido
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
a continuacion de muestra la manera correcta
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.
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)
(Bebe,Médico)
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
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
Suscribirse a:
Entradas (Atom)