Está en la página 1de 55

Facultad de Ciencias de la Ingeniera

Ingeniera Informtica y Ciencias de la Computacin



Normalizacin de una Base de Datos

Ing. Jonathan Carrillo
Quito, Octubre 2013

DISEO E IMPLEMENTACIN
DE BASE DE DATOS
Contenido:
1. Definiciones Bsicas
2. First Normal Form: 1NF
3. Second Normal Form: 2NF
4. Third Normal Form: 3NF
5. Ejemplo Integral 1NF-2NF-3NF
6. Boyce Cood: BCNF
7. Fourth Normal Form: 4NF
8. Fifth Normal Form: 5NF
9. Conclusin
Proceso del Diseo e implementacin de una Bases de Datos
1. Definiciones Bsicas
> Normalizacin de Bases de Datos
> En trminos simples, la normalizacin es el
proceso de identificar el mejor lugar donde
pertenecen los datos.
> La normalizacin es un enfoque de diseo que
minimiza la redundancia de datos, protege la
integridad y optimiza las estructuras de datos
mediante la colocacin de los elementos de datos
de manera sistemtica y correcta en los grupos
apropiados.
> Hay algunas reglas en la normalizacin de una
base de datos. Cada regla se denomina una
Forma Normal".

Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
1. Definiciones Bsicas
> Normalizacin de Bases de Datos
> El proceso de normalizacin, fue propuesto en un
principio por Codd (1972),
> Este proceso, hace pasar un esquema relacional
por una serie de comprobaciones para certificar
que satisface una determinada forma normal.
> La normalizacin se lleva a la prctica de forma
que los diseos resultantes sean de mxima
calidad.
> La normalizacin evita anomalas de
actualizacin (la insercin, eliminacin o
modificacin pueden provocar aparicin de
inconsistencias) por datos redundantes

Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
1. Definiciones Bsicas
> Normalizacin de Bases de Datos
> Cada regla est basada en la que le antecede.
> Si se cumple la primera regla, se dice que la base
de datos est en la "primera forma normal". Si se
cumplen las tres primeras reglas, la base de datos
se considera que est en la "tercera forma
normal".
> La normalizacin se adopt porque era
tradicional poner todos los datos en un solo lugar
(como un archivo o una tabla de la base de datos)
y conduca a errores de lgica cuando se trataban
de manipular los datos produciendo ineficiencia
al momento de realizar consultas.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
1. Definiciones Bsicas
> Normalizacin de Bases de Datos
> En general, la normalizacin requiere tablas
adicionales.
> Las guas que la normalizacin provee el marco
de referencia para simplificar una estructura de
datos compleja.
> Una base de datos normalizada ocupa menos
espacio en disco que una no normalizada. Hay
menos repeticin de datos, lo que tiene como
consecuencia un mucho menor uso de espacio en
disco.


Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
1. Definiciones Bsicas
> Normalizacin de Bases de Datos
> Relacin: Denominada en el modelo relacional
tambin tabla.
> Tupla: Las Filas se conocen en el modelo
relacional como tuplas
> Campo: Interseccin entre la fila y la columna




Ing. Jonathan Carrillo - Octubre 2013
Campo
Proceso del Diseo e implementacin de una Bases de Datos
1. Definiciones Bsicas
> Normalizacin de Bases de Datos - Tipos


Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
2. First Normal Form: 1NF
Se dice que el esquema de una relacin R est en la
primera forma normal (1NF) si y solo si cada uno de
los campos de R son atmicos (contiene un nico
valor para un registro determinado o no deben
poder ser descompuestos). Ejemplo 1:




La 1ra y 3ra tupla cumple 1NF, cada campo de tupla
tiene un nico dato, pero NO ocurre con la 2da tupla
ya que el campo Ubicacin_Departamento contiene
ms de un valor.
Ing. Jonathan Carrillo - Octubre 2013
Departamento
Id_Departamento Nombre_Departamento Ubicacin_Departamento
1 Investigacin Portoviejo
2 Desarrollo Quito, Guayaquil, Cuenca
3 Tecnologa Manta
Proceso del Diseo e implementacin de una Bases de Datos
2. First Normal Form: 1NF
Solucin Ejemplo 1: Crear dos tablas








Ahora los registros de ambas tablas tienen valores
nicos en sus campos, por lo tanto ambas cumplen la
1NF
Ing. Jonathan Carrillo - Octubre 2013
Departamento
Id_Departamento Nombre_Departamento Ubicacin_Departamento
1 Investigacin Portoviejo
2 Desarrollo Quito, Guayaquil, Cuenca
3 Tecnologa Manta
Departamento
Id_Departamento Nombre_Departamento
1 Investigacin
2 Desarrollo
3 Tecnologa
Departamento_Ubicacion
Id_Departamento Nombre_Ciudad
1 Portoviejo
2 Quito
2 Guayaquil
2 Cuenca
3 Manta
NO NORMALIZADO
NORMALIZADO 1NF
Proceso del Diseo e implementacin de una Bases de Datos
2. First Normal Form: 1NF
Ejemplo 2:

Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 1NF
NO NORMALIZADO
Libro
Id_Libro Nombre_Libro Publicacion_Libro
1 Clculo Integral 2000
2 Ecuaciones Diferenciales 1994, 1998, 2000
3 Fundamentos de BDD 1990, 2002
Libro
Id_Libro Nombre_Libro
1 Clculo Integral
2 Ecuaciones Diferenciales
3 Fundamentos de BDD
Libro_Publicacin
Id_Libro Ao_Publicacion
1 200
2 1994
2 1998
2 2000
3 1990
3 2002
Proceso del Diseo e implementacin de una Bases de Datos
2. First Normal Form: 1NF
Ejemplo 3:
Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 1NF
NO NORMALIZADO
Usuario
Id_Usuario Usuario Empresa URL1 URL2
1 Jose ABC www.abc.com www.xyz.com
2 Juan XYZ www.abc.com www.xyz.com
Usuario
Id_Usuario Usuario Empresa
1 Jose ABC
2 Juan XYZ
URL
Id_Usuario URL
1 www.abc.com
1 www.xyz.com
2 www.abc.com
2 www.xyz.com
Proceso del Diseo e implementacin de una Bases de Datos
2. First Normal Form: 1NF
Ejemplo 4:

Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 1NF
NO NORMALIZADO Estudiante
Id_Estudiante Nombre_Estudiante ID_Carrera Carrera_Estudiante Numero_Curso Nombre_Curso Fecha_Curso
2907 Sanchez, Patricio MAT Mathematics
MAT0011
MAT0027
EGL0010
Discrete Math
Calculus I
English Classics I
01/08/2002
30/04/2002
30/12/2001
4019 Montecarlo, Megan PHI Philosophy
PHI0010
CS00100
Intro to Philosophy
Programming Languages
30/04/2002
30/04/2002
Estudiante
Id_Estudiante Nombre_Estudiante Apellido_Estudiante ID_Carrera Carrera_Estudiante
2907 Patricio Sanchez MAT Mathematics
4019 Megan Montecarlo PHI Philosophy
Curso
Id_Estudiante Numero_Curso Nombre_Curso Fecha_Curso
2907 MAT0011 Discrete Math 01/08/2002
2907 MAT0027 Calculus I 30/04/2002
2907 EGL0010 English Classics I 30/12/2001
4019 PHI0010 Intro to Philosophy 30/04/2002
4019 CS00100 Programming Languages 30/04/2002
Proceso del Diseo e implementacin de una Bases de Datos
2. First Normal Form: 1NF
Por lo tanto, podemos concluir que para certificar
una tabla en la primera forma normal 1NF se debe:
> Eliminar los grupos repetitivos de la tablas
individuales creando tuplas individuales.
> Crear una tabla separada por cada grupo de datos
relacionados.
> Identificar cada grupo de datos relacionados con
la clave primaria


Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Conceptos previos:
> Clave Primaria: Es el subconjunto mnimo y no
vaco de atributos que permiten identificar de
manera nica una tupla dentro de una relacin.
> Si existen varios conjuntos que cumplen esta
condicin se denominan claves candidatas.
> Los atributos que conforman parte de la clave
primaria o candidata se denominan atributos
primos (Id, DNI), los atributos que no forman
parte de ninguna de estas claves se denominan
atributos no primos (fecha nacimiento).
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Conceptos previos:
> Dependencia funcional: B depende
funcionalmente de A (A B), si para cualquier
valor de A le corresponde un nico valor de B.
> Por ejemplo: Si A es el DNI y B es el Nombre,
est claro que a cualquier DNI le corresponde un
nico Nombre de titular (Nombre depende
funcionalmente del DNI).
> Otro ejemplo: Si A es Fecha de Nacimiento y B
la Edad, es evidente que la Edad depende
funcionalmente de la Fecha de Nacimiento.
> Dependencia funcional completa: Si B depende
de A en su Totalidad.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Conceptos previos:
Ejemplo de Dependencia funcional: Sea la
siguiente Relacin:
Empleado(DNI, Numero_Proyecto, Horas,
Nombre_Empleado, Nombre_Proyecto,
Ubicacin_Proyecto)


Dni Nombre_Empleado
Numero_Proyecto NombreProyecto, Ubicacn_Proyecto
Dni, NmeroDpto Horas






Ing. Jonathan Carrillo - Octubre 2013
EMPLEADO
DNI Numero_Proyecto Horas Nombre_Empleado Nombre_Proyecto Ubicacin_Proyecto
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Se dice que una tabla se encuentra en segunda forma
normal 2NF si y solo si:
> La tabla se encuentra en 1NF
> Todos sus atributos no primos dependen
funcionalmente de forma completa de la clave
primaria (existe dependencia funcional
completa).
En general, para certificar una tabla a Segunda
Forma Normal 2NF, se requiere:
1. Crear tablas separadas para aquellos grupos de
datos que se aplican a varios registros.
2. Relacionar estas tablas mediante una clave
principal externa.

Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Ejemplo:





Sea la clave primaria de esta tabla formada por los
campos Id_Empleado y Id_Departamento, podemos
decir que la tabla se encuentra en 1NF
Revisemos las dependencias funcionales:
Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 1NF
Empleado
Id_Empleado Id_Departamento Empleado Departameto Aos
1 30 Juan Administrativo 6
2 40 Pedro Tecnologa 3
3 50 Sonia Ventas 1
4 40 Nathalia Tecnologa 10
2 30 Pedro Administrativo 5
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Ejemplo:




> Id_Empleado Empleado
> Id_Departamento Departamento
> Id_Empleado, Id_Departamento Aos
Por lo tanto, la tabla anterior NO se encuentra en
2NF, ya que NO existe dependencia funcional total
respecto a la clave de todos los campos de la
relacin.
Ing. Jonathan Carrillo - Octubre 2013
Empleado
Id_Empleado Id_Departamento Empleado Departameto Aos
1 30 Juan Administrativo 6
2 40 Pedro Tecnologa 3
3 50 Sonia Ventas 1
4 40 Nathalia Tecnologa 10
2 30 Pedro Administrativo 5
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Ejemplo:
> Id_Empleado Empleado
> Id_Departamento Departamento
> Id_Empleado, Id_Departamento Aos



Se aplica la descomposicin de dependencia:




Ing. Jonathan Carrillo - Octubre 2013
Id_Empleado

Id_Departamento
Empleado

Departamento
Aos
Id_Empleado
Id_Empleado
Id_Departamento
Id_Departamento Empleado Departamento
Aos
Proceso del Diseo e implementacin de una Bases de Datos
3. Second Normal Form: 2NF
Ejemplo:
Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 2NF
Empleado
Id_Empleado Id_Departamento Empleado Departameto Aos
1 30 Juan Administrativo 6
2 40 Pedro Tecnologa 3
3 50 Sonia Ventas 1
4 40 Nathalia Tecnologa 10
2 30 Pedro Administrativo 5
Empleado
Id_Empleado Empleado
1 Juan
2 Pedro
3 Sonia
4 Nathalia
Departamento
Id_Departamento Departameto
30 Administrativo
40 Tecnologa
50 Ventas
Id_Empleado Id_Departamento Aos
1 30 6
2 40 3
3 50 1
4 40 10
2 30 5
Empleado_Departamento
Proceso del Diseo e implementacin de una Bases de Datos
4. Third Normal Form: 3NF
Conceptos Previos:
Dependencia Transitiva: Una dependencia
funcional X Y en un esquema de relacin R es una
dependencia transitiva si existe un conjunto de
atributos Z que ni es clave candidata ni un
subconjunto de ninguna clave de R, tal que:
X Y
Y Z
Se dice que Z tiene dependencia transitiva respecto
a X a travs de Y
X Y Z

Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
4. Third Normal Form: 3NF
Se dice que una tabla se encuentra en tercera forma
normal 3NF si:
> Satisface 2FN
> Ningn atributo no primo depende no
transitivamente de la clave primaria. (No existe
dependencia transitiva)
Ningn atributo puede depender uno de otro a no ser
que sea la clave primaria.
En general, para certificar una tabla a Tercera Forma
Normal 3NF, se requiere:
> Crear una tabla para aquellos campos que no
dependan de la clave.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
4. Third Normal Form: 3NF
Ejemplo 1:



Dependencias:
> Id_Alumno Nombre, Curso
> Id_Alumno, Curso Aula
Ing. Jonathan Carrillo - Octubre 2013
Id_Alumno Nombre Curso Aula
1 Marcos Informatica Aula A
2 Lucas Ingls Aula B
3 Mateo Finanzas Aula C
Id_Alumno
Nombre

Curso
Aula
Existe
dependencia
transitiva
Proceso del Diseo e implementacin de una Bases de Datos
4. Third Normal Form: 3NF
Ejemplo 1:
Se aplica descomposicin sin prdidas para la
dependencia que impide la 3NF, y obtenemos:



Ing. Jonathan Carrillo - Octubre 2013
Curso
Nombre
Curso
Aula Id_Alumno
Id_Alumno Nombre Curso
1 Marcos Informatica
2 Lucas Ingls
3 Mateo Finanzas
Curso Aula
Informatica Aula A
Ingls Aula B
Finanzas Aula C
NORMALIZADO 3NF
Proceso del Diseo e implementacin de una Bases de Datos
4. Third Normal Form: 3NF
Ejemplo 2:





Dependencias:
> DNI Nombre, Apellido, Codigo_Provincia
> DNI, Codigo_Provincia Provincia




Ing. Jonathan Carrillo - Octubre 2013
Nombre
Apellido
Codigo_Provincia Provincia
DNI
Alumno
DNI Nombre Apellido Codigo_Provincia Provincia
12121349A Salvador Velasco 34 Palencia
12121219A Pedro Valentine 34 Palencia
3457775G Ana Fernandez 47 Valladolid
5674378J Sara Crespo 47 Valladolid
3456858S Marina Serrat 8 Barcelona
Proceso del Diseo e implementacin de una Bases de Datos
4. Third Normal Form: 3NF
Ejemplo 2:







Ing. Jonathan Carrillo - Octubre 2013
Alumno
DNI Nombre Apellido Codigo_Provincia Provincia
12121349A Salvador Velasco 34 Palencia
12121219A Pedro Valentine 34 Palencia
3457775G Ana Fernandez 47 Valladolid
5674378J Sara Crespo 47 Valladolid
3456858S Marina Serrat 8 Barcelona
NORMALIZADO 3NF
Alumno
DNI Nombre Apellido Codigo_Provincia
12121349A Salvador Velasco 34
12121219A Pedro Valentine 34
3457775G Ana Fernandez 47
5674378J Sara Crespo 47
3456858S Marina Serrat 8
Provincia
Codigo_Provincia Provincia
34 Palencia
47 Valladolid
8 Barcelona
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Base de datos de una Biblioteca





Esta tabla NO cumple el requisito de la Primera
Forma Normal 1NF de slo tener campos atmicos,
pues el campo de Autor de la 4ta tupla y el nombre
del lector es un campo que puede (y conviene)
descomponerse. Para el caso del nombre se
descompone en apellido paterno y apellido materno.
Tal como se muestra en la siguiente tabla.




Ing. Jonathan Carrillo - Octubre 2013
Libro
Id_Libro Titulo Autor Editorial Nombre_Lector Fecha Devolucion
1 Variable compleja Murray Spiegel McGraw Hill Prez Gmez, Juan 15/04/2005
2 Visual Basic 5 E. Petroustsos Anaya Ros Tern, Ana 17/04/2005
3 Estadstica Murray Spiegel McGraw Hill Roca, Ren 16/04/2005
4 Oracle University
Nancy Greenberg y
Priya Nathan
Oracle Corp. Garca Roque, Luis 20/04/2005
5 Clipper 5.01 Ramalho McGraw Hill Prez Gmez, Juan 18/04/2005
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Base de datos de una Biblioteca









Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 1NF
Libro
Id_Libro Titulo Autor Editorial Fecha Devolucion
1 Variable compleja Murray Spiegel McGraw Hill 15/04/2005
2 Visual Basic 5 E. Petroustsos Anaya 17/04/2005
3 Estadstica Murray Spiegel McGraw Hill 16/04/2005
4 Oracle University Nancy Greenberg Oracle Corp. 20/04/2005
4 Oracle University Priya Nathan Oracle Corp. 20/04/2005
5 Clipper 5.01 Ramalho McGraw Hill 18/04/2005
Lector
Id_Libro Nombre Paterno Materno
1 Juan Prez Gmez
2 Ana Ros Tern
3 Ren Roca
4 Luis Garca Roque
4 Luis Garca Roque
5 Juan Prez Gmez
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
La Segunda Forma Normal (2NF) pide que no
existan dependencias parciales o dicho de otra
manera, todos los atributos no clave deben depender
por completo de la clave primaria (dependencia
funcional completa).
Actualmente en nuestras tablas tenemos varias
dependencias parciales si consideramos como
atributo clave el cdigo del libro.

Ing. Jonathan Carrillo - Octubre 2013
Libro
Id_Libro Titulo Autor Editorial Fecha Devolucion
1 Variable compleja Murray Spiegel McGraw Hill 15/04/2005
2 Visual Basic 5 E. Petroustsos Anaya 17/04/2005
3 Estadstica Murray Spiegel McGraw Hill 16/04/2005
4 Oracle University Nancy Greenberg Oracle Corp. 20/04/2005
4 Oracle University Priya Nathan Oracle Corp. 20/04/2005
5 Clipper 5.01 Ramalho McGraw Hill 18/04/2005
Lector
Id_Libro Nombre Paterno Materno
1 Juan Prez Gmez
2 Ana Ros Tern
3 Ren Roca
4 Luis Garca Roque
4 Luis Garca Roque
5 Juan Prez Gmez
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF

Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 2NF
Es necesaria esta tabla para mantener la
informacin de qu libros estn prestados a
qu lectores y la fecha de devolucin de
cada libro.
Libro
Id_Libro Titulo Autor Editorial
1 Variable compleja Murray Spiegel McGraw Hill
2 Visual Basic 5 E. Petroustsos Anaya
3 Estadstica Murray Spiegel McGraw Hill
4 Oracle University Nancy Greenberg Oracle Corp.
4 Oracle University Priya Nathan Oracle Corp.
5 Clipper 5.01 Ramalho McGraw Hill
Lector
Id_Lector Nombre Paterno Materno
101 Juan Prez Gmez
102 Ana Ros Tern
103 Ren Roca
104 Luis Garca Roque
Lector_Libro
Id_Libro Id_Lector Fecha Devolucion
1 101 15/04/2005
2 102 17/04/2005
3 103 16/04/2005
4 104 20/04/2005
5 101 18/04/2005
Libro
Id_Libro Titulo Autor Editorial Fecha Devolucion
1 Variable compleja Murray Spiegel McGraw Hill 15/04/2005
2 Visual Basic 5 E. Petroustsos Anaya 17/04/2005
3 Estadstica Murray Spiegel McGraw Hill 16/04/2005
4 Oracle University Nancy Greenberg Oracle Corp. 20/04/2005
4 Oracle University Priya Nathan Oracle Corp. 20/04/2005
5 Clipper 5.01 Ramalho McGraw Hill 18/04/2005
Lector
Id_Libro Nombre Paterno Materno
1 Juan Prez Gmez
2 Ana Ros Tern
3 Ren Roca
4 Luis Garca Roque
4 Luis Garca Roque
5 Juan Prez Gmez
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Para la Tercera Forma Normal (3NF) la relacin
debe estar en 2NF y adems los atributos no clave
deben ser mutuamente independientes y
dependientes por completo de la clave primaria (No
existe dependencia transitiva)
Tambin recordemos que esto significa que las
columnas en la tabla deben contener solamente
informacin sobre la entidad definida por la clave
primaria y, por tanto, las columnas en la tabla deben
contener datos acerca de una sola cosa.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
En nuestro ejemplo en 2NF, la siguiente tabla
conserva informacin acerca del libro, los autores y
editoriales, y existe dependencia transitiva:







Por lo que debemos crear nuevas tablas para
satisfacer los requisitos de 3NF:
Ing. Jonathan Carrillo - Octubre 2013
NO CUMPLE 3NF
Libro
Id_Libro Titulo Autor Editorial
1 Variable compleja Murray Spiegel McGraw Hill
2 Visual Basic 5 E. Petroustsos Anaya
3 Estadstica Murray Spiegel McGraw Hill
4 Oracle University Nancy Greenberg Oracle Corp.
4 Oracle University Priya Nathan Oracle Corp.
5 Clipper 5.01 Ramalho McGraw Hill
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 3NF
Libro
Id_Libro Titulo Autor Editorial
1 Variable compleja Murray Spiegel McGraw Hill
2 Visual Basic 5 E. Petroustsos Anaya
3 Estadstica Murray Spiegel McGraw Hill
4 Oracle University Nancy Greenberg Oracle Corp.
4 Oracle University Priya Nathan Oracle Corp.
5 Clipper 5.01 Ramalho McGraw Hill
Libro
Id_Libro Titulo
1 Variable compleja
2 Visual Basic 5
3 Estadstica
4 Oracle University
5 Clipper 5.01
Autor
Id_Autor Autor
201 Murray Spiegel
202 E. Petroustsos
203 Nancy Greenberg
204 Priya Nathan
205 Ramalho
Editorial
Id_Editorial Editorial
501 McGraw Hill
502 Anaya
503 Oracle Corp.
Contina.
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Aunque hemos creado nuevas tablas para que cada
una tenga slo informacin acerca de una entidad,
tambin hemos perdido la informacin acerca de qu
autor ha escrito qu libro y las editoriales
correspondientes, por lo que debemos crear otras
tablas que relacionen cada libro con sus autores y
editoriales.





Ing. Jonathan Carrillo - Octubre 2013
NORMALIZADO 3NF
Libro
Id_Libro Titulo
1 Variable compleja
2 Visual Basic 5
3 Estadstica
4 Oracle University
5 Clipper 5.01
Autor
Id_Autor Autor
201 Murray Spiegel
202 E. Petroustsos
203 Nancy Greenberg
204 Priya Nathan
205 Ramalho
Editorial
Id_Editorial Editorial
501 McGraw Hill
502 Anaya
503 Oracle Corp.
Id_libro Id_Editorial
1 501
2 502
3 501
4 503
5 501
Libro_Editorial
Libro_Autor
Id_Libro Id_Autor
1 201
2 202
3 201
4 203
4 204
5 205
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Y el resto de las tablas no necesitan modificacin.








Integrando todo lo anterior se obtendra:




Ing. Jonathan Carrillo - Octubre 2013
Lector
Id_Lector Nombre Paterno Materno
101 Juan Prez Gmez
102 Ana Ros Tern
103 Ren Roca
104 Luis Garca Roque
Lector_Libro
Id_Libro Id_Lector Fecha Devolucion
1 101 15/04/2005
2 102 17/04/2005
3 103 16/04/2005
4 104 20/04/2005
5 101 18/04/2005
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Resultado final: Base de Datos en 3NF












Ing. Jonathan Carrillo - Octubre 2013
Lector
Id_Lector Nombre Paterno Materno
101 Juan Prez Gmez
102 Ana Ros Tern
103 Ren Roca
104 Luis Garca Roque
Lector_Libro
Id_Libro Id_Lector Fecha Devolucion
1 101 15/04/2005
2 102 17/04/2005
3 103 16/04/2005
4 104 20/04/2005
5 101 18/04/2005
Libro
Id_Libro Titulo
1 Variable compleja
2 Visual Basic 5
3 Estadstica
4 Oracle University
5 Clipper 5.01
Autor
Id_Autor Autor
201 Murray Spiegel
202 E. Petroustsos
203 Nancy Greenberg
204 Priya Nathan
205 Ramalho
Editorial
Id_Editorial Editorial
501 McGraw Hill
502 Anaya
503 Oracle Corp.
Id_libro Id_Editorial
1 501
2 502
3 501
4 503
5 501
Libro_Editorial
Libro_Autor
Id_Libro Id_Autor
1 201
2 202
3 201
4 203
4 204
5 205
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Resultado final: Creacin de Tablas - Base de Datos
en 3NF












Ing. Jonathan Carrillo - Octubre 2013
LIBRO
LIBRO
LIBRO
LIBRO AUTOR EDITORIAL LIBRO_EDITORIAL LIBRO_AUTOR
LIBRO LECTOR
LIBRO_LECTOR
LECTOR
LECTOR
LECTOR
1NF
2NF
3NF
Proceso del Diseo e implementacin de una Bases de Datos
5. Ejemplo integral 1NF-2NF-3NF
Tabla Resumen:
Ing. Jonathan Carrillo - Octubre 2013
FORMA NORMAL CARACTERISTICA PROCEDIMIENTOS
1NF
Si y solo si cada uno de los
campos de R son atmicos
(contiene un nico valor para un
registro determinado o no deben
poder ser descompuestos
*Eliminar los grupos repetitivos de la
tablas individuales creando tuplas
individuales.

*Crear una tabla separada por cada
grupo de datos relacionados.

*Identificar cada grupo de datos
relacionados con la clave primaria.
2NF
Todos sus atributos no primos
dependen funcionalmente de
forma completa de la clave
primaria (existe dependencia
funcional completa)
*Crear tablas separadas para aquellos
grupos de datos que se aplican a varios
registros.

*Relacionar estas tablas mediante una
clave principal (externa).
3NF
Ningn atributo puede depender
uno de otro a no ser que sea la
clave primaria (No existe
dependencia transitiva)
*Crear una tabla para aquellos campos
que no dependan de la clave
Proceso del Diseo e implementacin de una Bases de Datos
6. Boyce Cood: BCNF
Consideraciones Preliminares:
> El diseo de base de datos, tal y como se realiza
en la actualidad en la industria, presta especial
atencin a la normalizacin hasta la 3FN.
> La BCNF y la 4NF es considerada por otros
diseadores formas normales que basta llegar.
> Otros opinan que la 4NF, y sobre todo la 5NF es
polmica. Mencionan que hay bases de datos
peores en 5NF.
> Otro punto que conviene resaltar es que los
diseadores de bases de datos no necesitan
normalizar hasta la forma normal ms alta
posible.




Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
6. Boyce Cood: BCNF
La BCNF (Boyce-Codd Normal Form) se propuso
como una forma que es ms estricta que la 3NF, es
decir, toda relacin que est en BCNF lo est
tambin en 3NF.
Una tabla est en Forma Normal de Boyce-Codd o
BCNF si:
> Satisface 3NF
> Solo existen dependencias funcionales
elementales que dependan de la clave primaria o
de cualquier clave alternativa.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
6. Boyce Cood: BCNF
Ejemplo:
La siguiente tabla se encuentra en 3FN:



Aunque la tabla anterior se mantiene en 3FN, mantiene
dependencias funcionales.
En este caso hay dependencia entre el cdigo postal y
la poblacin, ya que, conocido el cdigo postal se
puede conocer la poblacin, y conocida la direccin y
la poblacin, se conoce el cdigo postal.
Ing. Jonathan Carrillo - Octubre 2013
Poblacin
Codigo_Postal Direccion Poblacin
30009 C/ Pantano Camarillas n16 Murcia
48596 Av. Buenos Aires n12 Madrid
Proceso del Diseo e implementacin de una Bases de Datos
6. Boyce Cood: BCNF
Ejemplo:



Para transformar la tabla anterior en BCNF se crea las
siguientes relaciones o tablas:

Ing. Jonathan Carrillo - Octubre 2013
CodigoPostal_Direccion
Codigo_Postal Direccion
30009 C/ Pantano Camarillas n16
48596 Av. Buenos Aires n12
Poblacin
Codigo_Postal Direccion Poblacin
30009 C/ Pantano Camarillas n16 Murcia
48596 Av. Buenos Aires n12 Madrid
CodigoPostal_Poblacin
Codigo_Postal Poblacin
30009 Murcia
48596 Madrid
NORMALIZADO BCNF
Proceso del Diseo e implementacin de una Bases de Datos
7. Fourth Normal Form: 4NF
Dependencia Funcional multivaluada o de
mltiples valores: Una dependencia multivaluada de
X sobre Z (es decir X Z), siendo X y Z atributos
de la misma tabla, ocurre cuando Z tiene un conjunto
de valores bien definidos sobre cualquier valor de X.
Es decir, dado X sabremos los posibles valores que
puede tomar Z.
Una tabla est en 4NF, si:
> Satisface BCNF
> Las nicas dependencias funcionales
multivaluadas que existen son las dependencias
funcionales de la clave con los atributos que no
forman parte de la misma.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
7. Fourth Normal Form: 4NF
Ejemplo:
Supongamos la siguiente tabla. Los atributos de la
tabla transporte son Conductor, Tipo_vehculo y
Tipo_Carga, formando los tres campos la clave
primaria. A cada conductor se le puede asignar un
vehculo u otro, y cada vehculo puede transportar
varios tipos de carga.

Ing. Jonathan Carrillo - Octubre 2013
Conductor Tipo_Vehculo Tipo_Carga
Juan Furgoneta Perecederos
Marcos Furgoneta Perecederos
Juan Furgoneta Muebles
Marcos Furgoneta Muebles
Juan Camin Mudanza
Marcos Camin Mudanza
Transporte
Proceso del Diseo e implementacin de una Bases de Datos
7. Fourth Normal Form: 4NF
Ejemplo:




Con estas condiciones:
> Los conductores son independientes de la carga
> El tipo de vehculos depende del conductor
> Tipo de vehculo depende del Tipo de carga.
En este caso hay dependencias funcionales
multivaluadas, ya que algunos atributos que forman
la clave dependen de otro atributo que tambin la
forman.


Ing. Jonathan Carrillo - Octubre 2013
Conductor Tipo_Vehculo Tipo_Carga
Juan Furgoneta Perecederos
Marcos Furgoneta Perecederos
Juan Furgoneta Muebles
Marcos Furgoneta Muebles
Juan Camin Mudanza
Marcos Camin Mudanza
Transporte
Proceso del Diseo e implementacin de una Bases de Datos
7. Fourth Normal Form: 4NF
Ejemplo:
Para conseguir que esta tabla est en 4FN se necesita
crear dos nuevas tablas, mantenindose en cada una de
ellas una dependencia mltiple:
Ing. Jonathan Carrillo - Octubre 2013
Conductor Tipo_Vehculo Tipo_Carga
Juan Furgoneta Perecederos
Marcos Furgoneta Perecederos
Juan Furgoneta Muebles
Marcos Furgoneta Muebles
Juan Camin Mudanza
Marcos Camin Mudanza
Transporte
Conductor Tipo_Vehculo
Juan Furgoneta
Marcos Furgoneta
Juan Furgoneta
Marcos Furgoneta
Juan Camin
Marcos Camin
Conductor_TipoVehiculo
Tipo_Vehculo Tipo_Carga
Furgoneta Perecederos
Furgoneta Perecederos
Furgoneta Muebles
Furgoneta Muebles
Camin Mudanza
Camin Mudanza
TipoVehculo_TipoCarga
NORMALIZADO 4NF
Proceso del Diseo e implementacin de una Bases de Datos
8. Fifth Normal Form: 5NF
Conceptos previos:
> Proyeccin: Creacin de una tabla cuyos
elementos forman un subconjunto de una tabla
dada. Se incluyen todas las filas y algunas
columnas.
> Unin: Formar, a partir de dos tablas, una nueva
con todos los campos de una de ellas y los
registros de ambas, excepto los repetidos. Ambas
tablas han de tener el mismo grado y las mismas
columnas.
> Se dice que se tiene una tabla con dependencia
de unin (o de tipo JOIN) si se puede obtener
esa tabla como resultado de combinar mediante
la operacin JOIN varias proyecciones de la
misma.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
8. Fifth Normal Form: 5NF
Una tabla est en 5NF, si:
> Satisface 4NF
> Cada dependencia de unin (JOIN) en ella es
implicada por las claves candidatas.
La 5NF se emplea cuando en una misma tabla
tenemos mucha informacin redundante, con pocos
atributos o cuando una tabla posee una gran cantidad
de atributos, y se hace por ello inmanejable
Es por aquello que la 5NF es la ms compleja y
polmica de todas. Polmica pues no se evidencia
que el paso a 5NF mejore la base de datos.
Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
8. Fifth Normal Form: 5NF
Es raro encontrarse este tipo de problemas cuando la
normalizacin llega a 4NF. Esto se debe a
restricciones semnticas especiales aplicadas sobre la
tabla.
Para conseguir que una tabla 4NF con gran cantidad
de atributos est en 5NF, se parte la tabla original en
tantas tablas como se desee, teniendo cada una de
ellas en comn con las dems los campos que forman
la clave primaria en la tabla original.

Ing. Jonathan Carrillo - Octubre 2013
Proceso del Diseo e implementacin de una Bases de Datos
8. Fifth Normal Form: 5NF
Ejemplo para el caso de una tabla que posee una
gran cantidad de atributos:
Supongamos que tenemos una empresa donde se
guardan los siguientes Datos: Personales, Familiares,
Profesionales y Clnicos de cada empleado en una
nica tabla en 4NF llamada Empleado, definida por:
Empleado(Id, a, b, c, x, y, z, o, p, q, r, s, t)

Ing. Jonathan Carrillo - Octubre 2013
Codi go
I d a b c x y z o p q r s t
1 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12
Datos Fami l i ares Datos Profesi onal es Datos Personal es Datos Cl ni cos
Empl eado
Proceso del Diseo e implementacin de una Bases de Datos
8. Fifth Normal Form: 5NF
Ejemplo para el caso de una tabla que posee una
gran cantidad de atributos:
Para conseguir que esta tabla est en 5FN se necesita
crear nuevas tablas:
Ing. Jonathan Carrillo - Octubre 2013
Codi go Codi go
I d a b c I d x y z
1 D1 D2 D3 1 D4 D5 D6
Codi go Codi go
I d o p q I d r s t
1 D7 D8 D9 1 D10 D11 D12
Datos Profesi onal es
Datos Personal es Datos Cl ni cos
Datos Fami l i ares
Proceso del Diseo e implementacin de una Bases de Datos
8. Fifth Normal Form: 5NF
Ejemplo para el caso de una tabla que posee
mucha informacin redundante, con pocos
atributos
Ing. Jonathan Carrillo - Octubre 2013
Ttulo_Libro Fecha_Prestamo Socio
T1 FT S1
T2 FU S2
T3 FV S1
T4 FG S4
T1 FH S3
T2 FT S4
T3 FV S3
Biblioteca
NORMALIZADO 5NF
Titulo_Fecha
Ttulo_Libro Fecha_Prestamo Ttulo_Libro Socio
T1 FT T1 S1
T2 FU T2 S2
T3 FV T3 S1
T4 FG T4 S4
T1 FH T1 S3
T2 FT T2 S4
T3 FV T3 S3
Ttulo_Socio
Fecha Socio
FT S1
FU S2
FV S1
FG S4
FH S3
FT S4
FV S3
Fecha_Socio
Proceso del Diseo e implementacin de una Bases de Datos
9. Conclusin
Ing. Jonathan Carrillo - Octubre 2013
La normalizacin es
un enfoque de diseo
que minimiza la
redundancia de datos,
protege la integridad y
optimiza las
estructuras de datos;
por lo general, una
normalizacin
razonable permite
mejorar el
rendimiento

También podría gustarte