Normalizacin
Ing. Luis Zuloaga Rotta
Normalizacin
Es el anlisis de dependencias funcionales entre
atributos (o items de datos).
El propsito de la normalizacin es reducir
complejas vistas de usuario a un conjunto de
pequeas y estables estructuras de datos.
La experiencia muestra claramente que
estructuras de datos normalizadas son mas
flexibles, estables y mas fciles de mantener, que
las estructuras no normalizadas.
Pasos para la
normalizacin
Primero se identifican las
vistas de usuario, luego cada
vista es convertida a la forma
de una relacin no
normalizada.
Se remueven los grupos
repetitivos, y se obtiene un
conjunto de relaciones en
1FN, enseguida se
remueven dependencias
parciales, y el resultado es
un conjunto de relaciones en
2FN. Finalmente se
remueven las dependencias
transitivas creando un
conjunto de relaciones en
3FN.
Vistas de
usuario
Relaciones no
normalizadas
Remover grupos
repetitivos
Relacin
Normalizada
1FN
Remover
Dependencias
parciales
Remover
Dependencias
transitivas
Relaciones en
2da forma
Normal - 2FN
Relaciones en
3ra forma
Normal - 3FN
Relaciones No Normalizadas
REPORTE MATRICULA
CODIGO
CODIGO
NOMBRE ALUMNO ESPECIALIDAD
DENOMINACION
NOMBRE DOCENTE
ALUMNO
CURSO
382145A
LUIS ZULOAGA
INDUSTRIAL
MA123
MATEMATICA 2
CARLOS ARAMBULO
360247K
RAUL ROJAS
SISTEMAS
OFICINA
SECCION
CB-214
QU514
FISICO QUIMICA
PETRA RONDINEL
CB-110
AU521
DESCRIPTIVA
VICTOR MONCADA
CB-120
PA714
INVESTIGACION 1 CESAR FERNANDEZ
SC-220
MA123
MATEMATICA 2
CARLOS ARAMBULO
CB-214
AU511
DIBUJO
VICTOR MONCADA
CB-120
Una relacin no normalizada es una relacin que contiene uno o mas grupos
repetitivos.
Desde que cada alumno se puede inscribir en uno o mas cursos-seccin, los
datos de los cursos-seccin en la vista constituyen grupos repetitivos dentro
de los datos de los alumnos.
Datos redundantes
REPORTE MATRICULA
CODIGO
NOMBRE ALUMNO ESPECIALIDAD
ALUMNO
CODIGO
CURSO
DENOMINACION
NOMBRE DOCENTE
OFICINA
SECCION
Grupos repetitivos
Como se observa en la relacin no normalizada por cada alumno
existen varios cursos-seccin matriculados, cada uno con un docente
responsable a quien se le ubica en una oficina determinada.
La principal desventaja de relaciones no normalizadas es que ellas
contienen datos redundantes.
En el ejemplo, vemos que el curso MA123 puede aparecer varias veces,
que ocurrira si deseamos cambiar el nombre del curso ?
Anomalas de Datos
Comportamientos anmalos que se pueden
presentar al insertar, borrar y actualizar
datos en una base de datos relacional,
producidos por un diseo deficiente.
Anomala de Insercin (insert )
La existencia de un objeto requiere la existencia
de otro objeto independiente.
Ej: Factura (nfact, ncliente, nombre, direccion, fecha,total)
Reporte (codalum,nomalu,espec,codcur,denomin,nomdoc,ofic,secc)
Para aadir un nuevo cliente o un nuevo curso,
obligatoriamente necesito crear una factura o un
nuevo alumno para ese cliente o ese curso. (Es
decir esta representacin no permite organizar la
informacin correctamente).
Anomala de Borrado o
Eliminacin (delete)
El borrado (rutinario) de un registro puede hacer que
se pierda (borre) informacin que no se quera
eliminar.
Factura (nfact, ncliente, nombre, direccion, fecha, total)
Reporte (codalum,nomalu,espec,codcur,denomin,nomdoc,ofic,secc)
Si se elimina una factura y es la nica de un cliente,
o se elimina un alumnoy es el nico matriculado en
el curso, se pierde la informacin de ese cliente o de
ese curso seccin (prdida de datos).
Anomala de Actualizacin
(update)
Para cambiar el valor de un atributo, se necesita
cambiarlo simultneamente en varios sitios, en lugar
de en uno.
Factura (nfact, ncliente, nombre, direccion, fecha, total)
Reporte (codalum,nomalu,espec,codcur,denomin,nomdoc,ofic,secc)
Para cambiar la direccin de un cliente o la
denominacin de un curso, hay que hacerlo en todas
las facturas que tenga o en todas las matriculas
donde aparezca, a pesar que el cliente slo tiene
una direccin y el curso slo tiene una denominacin
(por la redundancia).
Primera Forma Normal 1FN
Es una relacin que contiene slo valores simples o
atmicos en la interseccin de cada fila y columna. Esto
es, una relacin normalizada no contiene grupos
repetitivos.
Para la 1FN separamos la relacin no normalizada en dos
entidades, uno conformada con los grupos no repetitivos
y la otra con los grupos repetitivos.
Reporte (codalum,nomalu,espec,codcur,denomin,nomdoc,ofic,secc )
Alumno (codalum,nomalu,espec )
CursoAlumno (codalum+codcur, denomin,nomdoc,ofic,secc )
REPORTE MATRICULA
CODIGO
NOMBRE ALUMNO ESPECIALIDAD
ALUMNO
CODIGO
CURSO
DENOMINACION
NOMBRE DOCENTE
OFICINA
SECCION
Grupos repetitivos
ALUMNO
CODIGO
NOMBRE ALUMNO ESPECIALIDAD
ALUMNO
382145A
LUIS ZULOAGA
INDUSTRIAL
360247K
RAUL ROJAS
SISTEMAS
CURSO ALUMNO
CODIGO
ALUMNO
382145A
CODIGO
CURSO
MA123
MATEMATICA 2
CARLOS ARAMBULO
CB-214
382145A
QU514
FISICO QUIMICA
PETRA RONDINEL
CB-110
VICTOR MONCADA
CB-120
DENOMINACION
NOMBRE DOCENTE
OFICINA
SECCION
382145A
AU521
DESCRIPTIVA
360247K
PA714
INVESTIGACION 1 CESAR FERNANDEZ
SC-220
360247K
MA123
MATEMATICA 2
CARLOS ARAMBULO
CB-214
360247K
AU511
DIBUJO
VICTOR MONCADA
CB-120
Dependencias
La razn de las anomalas es que varios de los atributos no clave
son dependientes slo de parte de la clave primaria (de algunos
atributos) y no de la cave primaria total.
Los atributos no clave que dependen de la clave primaria son
totalmente dependientes los otros son slo parcialmente
dependientes.
CODIGO
ALUMNO
382145A
CODIGO
CURSO
MA123
MATEMATICA 2
CARLOS ARAMBULO
CB-214
382145A
QU514
FISICO QUIMICA
PETRA RONDINEL
CB-110
VICTOR MONCADA
CB-120
DENOMINACION
NOMBRE DOCENTE
OFICINA
SECCION
382145A
AU521
DESCRIPTIVA
360247K
PA714
INVESTIGACION 1 CESAR FERNANDEZ
SC-220
360247K
MA123
MATEMATICA 2
CARLOS ARAMBULO
CB-214
360247K
AU511
DIBUJO
VICTOR MONCADA
CB-120
Segunda Forma Normal 2FN
Para eliminar las anomalas de la 1FN, debemos
remover las dependencias funcionales parciales.
Una relacin esta en segunda forma normal si
esta en 1FN y toda dependencia funcional parcial
ha sido removida.
Para convertir una relacin con dependencias
parciales a 2da. forma normal (2FN), creamos
dos nuevas relaciones, una con atributos que son
totalmente dependientes de la clave primaria y la
otra con atributos que son parcialmente
dependientes de la clave.
CURSO ALUMNO
CODIGO
ALUMNO
CODIGO
CURSO
DENOMINACION
NOMBRE DOCENTE
OFICINA
SECCION
DETALLE MATRICULA
CODIGO
ALUMNO
382145A
382145A
382145A
360247K
360247K
360247K
CODIGO
CURSO
MA123
QU514
AU521
PA714
MA123
AU511
SECCION
U
U
W
V
V
U
CURSO
CODIGO
CURSO
MA123
QU514
AU521
PA714
AU511
DENOMINACION
NOMBRE DOCENTE
OFICINA
MATEMATICA 2
CARLOS ARAMBULO
FISICO QUIMICA PETRA RONDINEL
DESCRIPTIVA
VICTOR MONCADA
INVESTIGACION 1 CESAR FERNANDEZ
DIBUJO
VICTOR MONCADA
CB-214
CB-110
CB-120
SC-220
CB-120
Tercera Forma Normal 3FN
Una relacin esta en 3ra. Forma normal
(3FN) si esta en 2FN y no contiene
dependencias transitivas.
Esto es, cada atributo no clave es
totalmente dependiente de la clave primaria
y no existen dependencias transitivas
(ocultas).
CODIGO
CURSO
DENOMINACION
NOMBRE DOCENTE
OFICINA
Dependencia Transitiva
CURSO
CODIGO
CURSO
MA123
QU514
AU521
PA714
AU511
DENOMINACION
NOMBRE DOCENTE
MATEMATICA 2
FISICO QUIMICA
DESCRIPTIVA
INVESTIGACION 1
DIBUJO
CARLOS ARAMBULO
PETRA RONDINEL
VICTOR MONCADA
CESAR FERNANDEZ
VICTOR MONCADA
DOCENTE
NOMBRE DOCENTE
OFICINA
CARLOS ARAMBULO
PETRA RONDINEL
CESAR FERNANDEZ
VICTOR MONCADA
CB-214
CB-110
SC-220
CB-120
Forma Normal Boyce&Codd BCNF
Cuando una relacin tiene mas de una clave
candidata, se pueden presentar anomalas aun
cuando la relacin este en 3FN.
R.F. Boyce y E.F. Codd identificaron esta
deficiencia y propusieron una extraa definicin
de 3FN que soluciona el problema, introduciendo
el concepto de determinante.
Un determinante es cualquier atributo (simple o
compuesto) sobre el cual algn otro atributo es
funcionalmente dependiente (total).
CK2
CK1
CODIGO
ALUMNO
65430A
65430A
14300L
48675J
86543M
46789B
ESPECIALIDAD
INDUSTRIAL
SISTEMAS
CIVIL
MECANICA
MECANICA
SISTEMAS
ASESOR
ZULOAGA
ROJAS
CARDENAS
MONTES
RUIZ
ROJAS
PK
CODIGO
ALUMNO
65430A
65430A
14300L
48675J
86543M
46789B
La relacin esta en 3FN.
Cada alumno puede especializarse en varias materias .
Por cada especialidad un alumno slo puede
tener un asesor
Cada especialidad tiene varios asesores
Cada asesor asesora slo una especialidad.
Existen dos claves candidatas (codalum+espec) y
(codalum+asesor).
PK
ASESOR
ZULOAGA
ROJAS
CARDENAS
MONTES
RUIZ
ROJAS
ASESOR
ZULOAGA
CARDENAS
MONTES
RUIZ
ROJAS
ESPECIALIDAD
INDUSTRIAL
CIVIL
MECANICA
MECANICA
SISTEMAS
Con esto se eliminan las posibles anomalas de insercin, eliminacin y actualizacin.
Cuarta Forma Normal 4FN
Una relacin esta en 4FN si esta en la BCFN y no
contiene dependencias multivaluadas.
Existe una dependencia multivaluada cuando hay
tres atributos (A,B y C) en una relacin, tal que
por cada valor de A existe un bien definido
conjunto de valores de B y un bien definido
conjunto de valores de C, sin embargo el
conjunto de valores de B es independiente del
conjunto C y viceversa.
COMPUTADORA
APPLE
APPLE
APPLE
IBM
NCR
NCR
NCR
PAQUETE
SOFTWARE
WRITER
FOX
WRITER
WORD
LOTUS
WORDPERFECT
LOTUS
COMPUTADORA
APPLE
APPLE
IBM
NCR
NCR
TIENDA
PCSHOP
PCSHOP
DIGISHOP
CIBERSTORE
DIGISHOP
DIGISHOP
CIBERSTORE
PAQUETE
SOFTWARE
WRITER
FOX
WORD
WORDPERFECT
LOTUS
La relacin esta en la BCFN.
La clave primaria de la relacin se
expresa en funcin de los tres atributos.
Por cada computadora existe un conjunto
de paquetes y un conjunto de tiendas que
las venden.
Los paquetes y las tiendas son
independientes.
COMPUTADORA
APPLE
APPLE
IBM
NCR
NCR
TIENDA
PCSHOP
DIGISHOP
CIBERSTORE
DIGISHOP
CIBERSTORE
Para eliminar las anomalas dividimos la relacin en dos entidades.
10
Quinta Forma Normal 5FN
Permite hacer frente a un tipo de dependencia
denominada dependencia de unin (Join
dependency).
Suele presentarse cuando resolvemos tres (o mas)
entidades, todas relacionadas con una relacin
muchos-a-muchos a las otras.
Es algunas veces referida como Join-Proyection
Normal Form (JPNF).
Estas relaciones son raras en la prctica.
Carro
Modelo
Color
Modelo_Carro
Color_Carro
Carro
Modelo
Color
Color_Modelo
Solucin con Entidades Asociativas
11
Carro
Modelo
Color
Carro_Modelo_Color
Solucin a travs de la Tabla Asociativa - 5NF
La solucin correcta a este problema es mucho mas simple, hay que
introducir una simple entidad asociativa enlazando las otras tres, a la
que podemos denominar Carro_Color_Modelo
EJERCICIO DE MODELAMIENTO
1. Modelo de Descomposicin de Procesos
2. Modelo de Flujo de Datos DFD
3. Diagrama entidad relacin - ERD
12
USED AT:
EJEMPLO
AUTHOR: Ing. Luis Zuloaga
DATE: 27/04/01
WORKING
PROJECT: AUTOM. STMA. ACADEMICO
REV:
DRAFT
27/04/01
READER
DATE CONTEXT:
TOP
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
Reglamento
Academico
Informacion actores
Informacion academica
SISTEMA
ACADEMICO
Informacion Plan Estudios
Datos matricula
Notas alumno
$0
Alumno
NODE:
TITLE:
Docente
NUMBER:
SISTEMA ACADEMICO
A-0
USED AT:
Ejemplo
AUTHOR: Ing. Luis Zuloaga
PROJECT: AUTOM. STMA. ACADEMICO
DATE: 27/04/01
REV:
04/05/01
WORKING
READER
DATE
CONTEXT:
DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
A-0
Reglamento
Academico
Informacion
actores
Informacion
academica
REGISTRO
FACULTAD
Infraestructura
$0
Informacion
Plan
Estudios
Catalogo de
Horarios del
periodo
Datos
aulas
CATALOGO
HORARIOS
Datos de
cursos
Datos
Docente
$0
Datos
cursos-seccion
asignados
verificados
Datos
alumno
Datos
matricula
Listado
alumnos
matriculados
MATRICULA
$0
Datos
alumnos
matriculados
REGISTRO
ACADEMICO
Notas alumno
$0
Docente
NODE:
Alumno
TITLE:
A0
Actas
de
notas
SISTEMA ACADEMICO
NUMBER:
2
1
13
USED AT:
AUTHOR: Ing. Luis Zuloaga
DATE: 04/05/01
WORKING
PROJECT: AUTOM. STMA. ACADEMICO
REV:
DRAFT
04/05/01
READER
DATE CONTEXT:
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
A0
Reglamento Academico
Disponibilidad docente
REGISTRO
DISPONIBILIDAD
Datos Docente
Datos de cursos
$0
1
Datos
disponibilidad
docente
ASIGNACION
CURSOS SECCION
$0
Datos
cursos-seccion
asignados
verificados
Datos aulas
Catalogo de
Horarios del
periodo
GENERAR
CATALOGO
$0
Docente
NODE:
TITLE:
NUMBER:
CATALOGO HORARIOS
A2
USED AT:
AUTHOR: Ing. Luis Zuloaga
DATE: 04/05/01
WORKING
PROJECT: AUTOM. STMA. ACADEMICO
REV:
DRAFT
04/05/01
READER
DATE
CONTEXT:
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
$0
A2
Datos
Docente
Datos Docente
1
DOCENTE
VERIFICAR DATOS
DOCENTE
1
DOCENTE
Disponibilidad
docente
Datos de
docente
validados
$0
DISPONIBILIDAD
Datos
disponibilidad
docente
REGISTRAR
DISPONIBILIDAD
2
CURSO
Datos de
cursos
NODE:
TITLE:
REGISTRO DISPONIBILIDAD
NUMBER:
A21
14
USED AT:
AUTHOR: Ing. Luis Zuloaga
DATE: 04/05/01
WORKING
PROJECT: AUTOM. STMA. ACADEMICO
REV:
DRAFT
04/05/01
READER
DATE
CONTEXT:
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
Datos
disponibilidad
docente
DISPONIBILIDAD
$0
1
Datos asignacion
ASIGNACION
TEMPORAL
7
ASIGNAR
CURSOS SECCION
Datos de
cursos
2
A2
CURSO
CURSO SECCION
Datos asignacion
Asignacion
errada
AULA
Datos aulas
$0
Datos
cursos-seccion
asignados
verificados
VALIDAR
ASIGNACION
CURSOS SECCION
NODE:
TITLE:
ASIGNACION CURSOS SECCION
NUMBER:
A22
15
16
17
EJERCICIO
1. Para la vista de usuario Contarto Venta contruir el ERD.
2. Resolver las vistas propuestas.
CONTRATO DE
VENTA
LA FAVORITA S.A.
Los Camotales 1354 - Lima
Telfs. 465 - 4568 458 - 3106
Vendedor
Fecha
Tipo Vta.
Cliente
Nro. Contrato
Observaciones
Direccin
Ciudad
Telfono
RUC
Cdigo
Depsito de despacho
Item [Link].
Descripcin Producto
[Link]. Precio
Nota : Todo Contrato de Venta al crdito esta sujeto a verificacin y aprobacin por el
Administrador de Ventas.
Si este Contrato es anulado por el Cliente, el vendedor podr tomar la accin legal
correspondiente reteniendo el adelanto como liquidacin por los daos.
Firma Cliente:
Dscto.
Total Item
Total Venta
Transporte
IGV
Adelanto
Saldo a Pagar
Firma y Sello Vendedor :
18
CURSO
PROFESOR
TEXTO
Fsica
Prof. Verde
Mecnica Bsica
Prof. Pardo
Principios de Optica
Prof. Negro
Matemticas
Prof. Blanco
Algebra Moderna
Geometra Proyectiva
Buque
Capitn
Viaje
Solitario
Solitario
Solitario
Solitario
Noche Clara
Solitario
Solitario
Noche Clara
Noche Clara
Noche Clara
Ruiz
Aguilar
Cordova
Gomez
Cordova
Rios
Gomez
Aguilar
Lopez
Cordova
Callao-Piura
Callao-Piura
Callao-Piura
Callao-Piura
Callao-Piura
Talara-Ilo
Talara-Ilo
Tacna-Tumbes
Supe-Paita
Supe-Paita
19
PROYECTO
ACTIVIDAD
EMPLEADO
TAURO
PLANEAR
J. GARCIA
TAURO
PLANEAR
L. ALVA
TAURO
COMPRAR
J. GARCIA
TAURO
COMPRAR
L. ALVA
GALES
CONTRATAR
M. ROSAS
GALES
CONTRATAR
J. GARCIA
20