Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Normalizacin
NORMALIZACIN
Objetivos
Entender la que es Normalizacin en el
diseo de Base de Datos
Entender los niveles de las Formas Normales
1FN, 2FN, 3FN, 4FN y 5FN.
Entender cuando es mas conveniente la
Desnormalizacin.
NORMALIZACIN
Contenido
Definicin
Necesidad de Normalizar
Conceptos
Primera Forma Normal 1FN
Segunda Forma Normal 2FN
Tercera Forma Normal 3FN
Formas Normales de mayor nivel 4FN, 5FN
Desnormalizacin
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila
NORMALIZACIN
Definicin
Normalizacin
Es una tcnica usada en el diseo de Base de
Datos Relacionales orientado a REDUCIR al
mnimo la REDUNDANCIA.
Hay varios niveles o Formas Normales
1FN,2FN,3FN, etc. Estructuralmente las formas
de mayor nivel son mejores.
En la practica es suficiente llegar hasta 3FN
NORMALIZACIN
Necesidad de Normalizar
Ejemplo de una estructura No Normalizada
Proyectos Desarrollo de Software
ProyNro
ProyNombre
Participante
EmpCodigo
EmpNombre
Rol
101
Juan Perez
Jefe Proyecto
40
100
4000
104
Ana Garcia
Analista Sistemas
20
80
1600
105
Pedro Meza
Programador
15
200
3000
109
Raul Llanos
Arquitecto de Software
50
20
1000
101
Juan Perez
Jefe de Proyecto
40
100
4000
104
Ana Garcia
Analista
20
80
1600
105
Pedro Meza
Programador
15
300
4500
104
Ana Garcia
Analista de Sistemas
40
70
2800
102
Luis Perez
Jefe de Proyecto
20
50
1000
105
Pedro Meza
Programador
15
300
4500
Vtmsystem
Syscom
Tmcsystem
TarHxRol
TotHoras
TotPago
NORMALIZACIN
Necesidad de Normalizar
Proyectos Desarrollo de Software
Una estructura sin normalizar ocasiona:
Inconsistencia de datos, mas de una versin
del mismo dato Ejm. Jefe Proyecto, Jefe de
Proyecto.
Anomalas de insercin, no se puede agregar
un empleado nuevo sin un proyecto.
Anomalas de actualizacin, modificar el
nombre de solo UN ROL de trabajo implica
varias modificaciones.
Anomalas de eliminacin, al eliminar un dato
se eliminan otros vitales.
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila
NORMALIZACIN
Conceptos
Clave: atributo o conjunto de atributos
cuyo valor permiten DETERMINAR el
valor de otros atributos
AB se lee como A determina a B:
Si se conoce el valor del atributo A entonces
se puede DETERMINAR el valor de B.
Un atributo B es FUNCIONALMENTE
DEPENDIENTE de A, pues un valor de A
determina uno y solo un valor en B
7
NORMALIZACIN
Primera Forma Normal 1FN
Una BD en 1FN cada una de sus tablas:
Tiene definido su CLAVE PRIMARIA
No existe atributos MULTIPLES
Todos los atributos DEPENDEN de la clave
primaria total o parcialmente
ProyNro
ProyNombre
EmpCodigo
EmpNombre
Rol
TarHxRol
TotHoras
ProyNro
ProyNombre
EmpCodigo
EmpNombre
Rol
TarHxRol
TotHoras
Vtmsystem
101
Juan Perez
Jefe Proyecto
40
100
Vtmsystem
104
Ana Garcia
Analista Sistemas
20
80
Vtmsystem
105
Pedro Meza
Programador
15
200
Syscom
109
Raul Llanos
Arquitecto de Software
50
20
NORMALIZACIN
Segunda Forma Normal 2FN
Una BD en 2FN es 1FN y cada una de sus tablas:
No existe DEPENDENCIAS PARCIALES (Atributo que
depende de un atributo que es parcialmente Clave Primaria)
ProyNro
ProyNro
EmpCodigo
ProyNombre
EmpCodigo
EmpNombre
Rol
TarHxRol
TotHoras
NORMALIZACIN
Segunda Forma Normal 2FN
ProyNro
ProyNombre
EmpCodigo
EmpNombre
Rol
Vtmsystem
101
Juan Perez
Jefe Proyecto
40
Syscom
104
Ana Garcia
Analista Sistemas
20
105
Pedro Meza
Programador
15
109
Raul Llanos
Arquitecto de Software
50
ProyNro
EmpCodigo
TotHoras
101
100
104
80
105
200
109
20
101
20
104
200
105
250
TarHxRol
10
NORMALIZACIN
Tercera Forma Normal 3FN
Una BD en 3FN es 2FN y cada una de sus tablas:
No existe DEPENDENCIAS TRANSITIVAS
ProyNro
ProyNombre
ProyNro
EmpCodigo
EmpNombre
RolCodigo
Rol
EmpCodigo
TotHoras
RolCodigo
TarHxRol
11
NORMALIZACIN
Tercera Forma Normal 3FN
ProyNro
ProyNombre
Vtmsystem
Syscom
ProyNro
EmpCodigo
TotHoras
EmpCodigo
EmpNombre
RolCodigo
101
100
101
Juan Perez
104
80
104
Ana Garcia
105
200
105
Pedro Meza
109
20
101
20
109
Raul Llanos
104
200
105
250
RolCodigo
Rol
TarHxRol
Jefe Proyecto
40
Analista Sistemas
20
Programador
15
Arquitecto de Software
50
12
NORMALIZACIN
Forma Normal de Boyce Codd BCFN
Una BD en BCFN cada una de sus tablas:
Es un caso especial 3FN donde cada
DETERMINANTE es una clave CANDIDATA
Tabla 3FN pero no BCFN :
AluCodigo
CurCodigo
SecCodigo
Nota
AluCodigo
CurCodigo
SecCodigo
Nota
DB01
101
15
LP03
104
20
DB01
101
18
LP05
109
12
13
NORMALIZACIN
Forma Normal de Boyce Codd BCFN
Convirtiendo en BCFN
1.
AluCodigo
CurCodigo
SecCodigo
2.
AluCodigo
SecCodigo
CurCodigo
Nota
Nota
Dependencia parcial
3.
AluCodigo
SecCodigo
Nota
SecCodigo
CurCodigo
AluCodigo
SecCodigo
Nota
SecCodigo
CurCodigo
101
15
20
DB01
104
101
101
18
104
LP03
109
LP05
2
2
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila
109
12
14
NORMALIZACIN
Formas Normales de mayor nivel
Una BD en 4FN es 3FN y cada una de sus tablas:
No tiene CONJUNTO MLTIPLES de
dependencias de valores MULTIPLES
3FN
MatCodigo
NotaPP
2008201
15
NotaPT
NotaEP
15
2008202
14
16
15
2008301
NotaTF
NotaEF
15
15
18
4FN
MatCodigo
TipoNota
NotaPP
2008201
15
2008201
15
TipoNota
Nombre
2008201
15
NotaPP
2008202
14
NotaPT
2008202
16
NotaEP
2008202
15
NotaTF
2008301
15
NotaEF
2008301
18
15
NORMALIZACIN
Formas Normales de mayor nivel
Una BD en 5FN es 4FN y cada una de sus tablas:
Sus registros NO pueden ser descompuestos en
registros con menos CAMPOS
4FN
X*Y
Vendedor
Fabricante
Producto
Juan
Toyota
Camioneta
Juan
Toyota
Auto
Juan
Toyota
Camin
Juan
Nissan
Camioneta
5FN
X+Y
Vendedor
Producto
Juan
Camioneta
Juan
Auto
Juan
Camin
Ana
Camin
Ana
Camioneta
Vendedor
Fabricante
Fabricante
Producto
Auto
Juan
Toyota
Toyota
Camioneta
Juan
Nissan
Ana
Toyota
Camin
Juan
Nissan
Toyota
Auto
Ana
Toyota
Camioneta
Ana
Toyota
Toyota
Camin
Nissan
Camioneta
Nissan
Auto
16
NORMALIZACIN
Desnormalizacin
BD de tipo OLTP (Online Transaction
Processing) son mas normalizados que los de
tipo OLAP (Online Analytical Processing ).
OLTP tiene un alto volumen de transacciones
(modificacin de datos).
OLAP tiene alto volumen de procesos de lectura
(Business Intelligence)
En BD OLAP conviene la
DESNORMALIZACION (Redundancia) por
mejorar significativamente la velocidad de
acceso a grandes volmenes de datos
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila
17