Está en la página 1de 7

UNC EJERCICIOS DE NORMALIZACION

Hemos creado una tabla para contener los datos del lector y también tuvimos que
crear la columna CodLector para identificar unívocamente a cada uno. Sin embargo, esta
nueva disposición de la base de datos necesita que exista otra tabla para mantener la
información de qué libros están prestados a qué lectores. Esta tabla se muestra a
continuación:
CodLibro CodLector FechaDev
1001 501 15/04/2014
1004 502 17/04/2014
1005 503 16/04/2014
1006 504 20/04/2014
1007 501 18/04/2014

Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF y además los
atributos no clave deben ser mutuamente independientes y dependientes por completo de la
clave primaria. También recordemos que dijimos que esto significa que las columnas en la
tabla deben contener solamente información sobre la entidad definida por la clave primaria y,
por tanto, las columnas en la tabla deben contener datos acerca de una sola cosa.

En nuestro ejemplo en 2NF, la primera tabla conserva información acerca del libro, los
autores y editoriales, por lo que debemos crear nuevas tablas para satisfacer los requisitos de
3NF.

3NF
CodLibro Titulo
1001 Variable compleja
1004 Visual Basic 5
1005 Estadística
1006 Oracle University
1007 Clipper 5.01

CodAutor Autor
801 Murray Spiegel
802 E. Petroustsos
803 Nancy Greenberg
804 Priya Nathan
806 Ramalho

CodEditorial Editorial
12-11-2014

901 McGraw Hill
902 Anaya
903 Oracle Corp

Aunque hemos creado nuevas tablas para que cada una tenga sólo información acerca
de una entidad, también hemos perdido la información acerca de qué autor ha escrito qué

NORMALIZACION
1
UNC EJERCICIOS DE NORMALIZACION

libro y las editoriales correspondientes, por lo que debemos crear otras tablas que relacionen
cada libro con sus autores y editoriales.
CodLibro codEditorial
1001 901
1004 902
1005 901
1006 903
1007 901

CodLibro codAutor
1001 801
1004 802
1005 801
1006 803
1006 804
1007 806

Y el resto de las tablas no necesitan modificación.


CodLector Paterno Materno Nombres
501 Pérez Gómez Juan
502 Ríos Terán Ana
503 Roca   René
504 García Roque Luis

CodLibro CodLector FechaDev


1001 501 15/04/2014
1004 502 17/04/2014
1005 503 16/04/2014
1006 504 20/04/2014
1007 501 18/04/2014

1. Un dato sin normalizar no cumple con ninguna regla de normalización. Para explicar
con un ejemplo en qué consiste cada una de las reglas, vamos a considerar los datos
de la siguiente tabla.
Ordenes
Id_orden Fecha Id_cliente Nom_client Provincia Num_art nom_art cant Precio
e
2301 23/02/14 101 Martin Cajamarca 3786 Red 3 35,00
2301 23/02/14 101 Martin Cajamarca 4011 Raqueta 6 65,00
12-11-2014

2301 23/02/14 101 Martin Cajamarca 9132 Paq-3 8 4,75


2302 25/02/14 107 Herman Lima 5794 Paq-6 4 5,00
2303 27/02/14 110 Pedro Piura 4011 Raqueta 2 65,00
2303 27/02/14 110 Pedro Piura 3141 Funda 2 10,00

1NF

NORMALIZACION
2
UNC EJERCICIOS DE NORMALIZACION

Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido
para NUM_ART, NOM_ART, CANT y PRECIO. La 1FN prohíbe los grupos repetidos, por lo tanto
tenemos que convertir a la primera forma normal. Los pasos a seguir son:

Tenemos que eliminar los grupos repetidos.


Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo
repetido.

Los registros quedan ahora conformados en dos tablas que llamaremos órdenes y
articulos_ordenes

Ordenes

Id_orden Fecha Id_cliente Nom_cliente Estado


2301 23/02/14 101 Martin Caracas
2302 25/02/14 107 Herman Coro
2303 27/02/14 110 Pedro Maracay

Articulos_ordenes

Id_orden Num_art nom_art cant Precio


2301 3786 Red 3 35,00
2301 4011 Raqueta 6 65,00
2301 9132 Paq-3 8 4,75
2302 5794 Paq-6 4 5,00
2303 4011 Raqueta 2 65,00
2303 3141 Funda 2 10,00

2NF

Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que


eliminar cualquier columna no llave que no dependa de la llave primaria de la tabla. Los pasos
a seguir son:

Determinar cuáles columnas que no son llave no dependen de la llave primaria


de la tabla.
Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la
12-11-2014

cual dependen.

La tabla órdenes está en 2FN. Cualquier valor único de ID_ORDEN determina un sólo
valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave
primaria ID_ORDEN.

NORMALIZACION
3
UNC EJERCICIOS DE NORMALIZACION

Por su parte, la tabla articulos_ordenes no se encuentra en 2FN ya que las columnas


PRECIO y NOM_ART son dependientes de NUM_ART, pero no son dependientes de
ID_ORDEN. Lo que haremos a continuación es eliminar estas columnas de la tabla
articulos_ordenes y crear una tabla artículos con dichas columnas y la llave primaria de la que
dependen.

Las tablas quedan ahora de la siguiente manera.

Articulos_ordenes
Id_orden Num_art cant
2301 3786 3
2301 4011 6
2301 9132 8
2302 5794 4
2303 4011 2
2303 3141 2

Artículos
Num_art nom_art Precio
3786 Red 35,00
4011 Raqueta 65,00
9132 Paq-3 4,75
5794 Paq-6 5,00
3141 Funda 10,00

3NF

La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave
que sea dependiente de otra columna no llave. Los pasos a seguir son:

Determinar las columnas que son dependientes de otra columna no llave.


Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y con la columna no llave de la cual son
dependientes.

Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla ARTICULOS,
como la tabla articulos_ordenes se encuentran en 3FN. Sin embargo la tabla ordenes no lo
está, ya que NOM_CLIENTE y PROVINCIA son dependientes de ID_CLIENTE, y esta columna no
es la llave primaria.

Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la cual
dependen dentro de una nueva tabla clientes. Las nuevas tablas clientes y órdenes se
muestran a continuación.
12-11-2014

Ordenes
Id_orden Fecha Id_cliente
2301 23/02/11 101
2302 25/02/11 107
2303 27/02/11 110

NORMALIZACION
4
UNC EJERCICIOS DE NORMALIZACION

Clientes
Id_cliente Nom_cliente Provincia
101 Martin Cajamarca
107 Herman Lima
110 Pedro Piura

Por lo tanto la base de datos queda de la siguiente manera:

Ordenes (id_orden, fecha, id_cliente)

Clientes (id_cliente, nom_cliente, estado)

Artículos ( num_art, nom_art, precio)

Articulos_ordenes (id_orden, num_art, cant)

2. Normalización de la tabla de estudiantes:

N° Alumno Nombre del Titular Salón Clase1 Clase2 Clase3


1022 Sr. Llamoctanta 1A-201 Arquitectura Gestión Economía
4123 Sr. Rodríguez 1B-202 Dibujo Base de Datos An. Matemático

1NF

Las tablas deben tener solo dos dimensiones. Dado que los estudiantes tienen varias
clases, estas clases deben ser listadas en una tabla separada. Los campos Clase1, Clase2,
Clase3 en los registros anteriores son indicios de problemas de diseño.

Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deben. Otra
forma de ver este problema es con uno-a-muchos. Creamos otra tabla en la primera forma
normal eliminando el grupo de repetición (clase) como se muestra en lo siguiente:

N° Alumno Nombre del Titular Salón N° Clase


1022 Sr. Llamoctanta 1A-201 Arquitectura
1022 Sr. Llamoctanta 1A-201 Gestión
1022 Sr. Llamoctanta 1A-201 Economía
4123 Sr. Rodríguez 1B-202 Dibujo
4123 Sr. Rodríguez 1B-202 Base de Datos
4123 Sr. Rodríguez 1B-202 An. Matemático
12-11-2014

2NF

Tomamos en cuenta los múltiples valores para el campo Clase por cada estudiante en
la tabla anterior.
N° Alumno Nombre del Titular Salón
1022 Sr. Llamoctanta 1A-201

NORMALIZACION
5
UNC EJERCICIOS DE NORMALIZACION

4123 Sr. Rodríguez 1B-202

N° Alumno N° Clase
1022 Arquitectura
1022 Gestión
1022 Economía
4123 Dibujo
4123 Base de Datos
4123 An. Matemático

3NF

Eliminar los datos que no dependen de la llave, salon (salon/grupo asignado al asesor)
es funcionalmente dependiente del atributo titular. La solución es mover dicho atributo de la
tabla Alumnos a la tabla de Facultad:
N° Alumno Nombre del Titular Salón
1022 Sr. Llamoctanta 1A-201
4123 Sr. Rodríguez 1B-202

Nombre del Titular Salón Departamento


Sr. Llamoctanta 1A-201 A
Sr. Rodríguez 1B-202 B

I. CONCLUSION

La normalización es una técnica que se ha desarrollado para obtener estructuras de


datos eficientes, garantizando un buen diseño lógico de la base de datos. Es decir, se utiliza
para mejorar el esquema, de modo que éste satisfaga ciertas restricciones que eviten la
duplicidad de datos, y garantiza que el esquema resultante esté más próximo al modelo de la
empresa, sea consistente, con la mínima redundancia y la máxima estabilidad.

La normalización es una ayuda muy útil en el proceso de diseño de las bases de datos,
pero conviene señalar que no es una panacea. Hay que tener en cuenta que las formas
normales no son prescripciones para la creación de un modelo de datos “correcto”. Un modelo
de datos podría llegar a estar perfectamente normalizado, pero podría proporcionar las
respuestas tan despacio y de forma tan complicada que el sistema de base de datos construido
sobre él resulte inoperativo.

No hay que olvidar que al descomponer una relación penalizamos las consultas,
12-11-2014

provocando una pérdida de eficiencia en las mismas. Aunque, en general, se aconseja llevar los
esquemas relacionales al menos a 3FN, existen ciertos casos en los que, una vez realizada la
descomposición, exigencias de eficiencia muy estrictas obligan a llevar a cabo el proceso
inverso, es decir, una desnormalización, combinando las relaciones hasta dejarlas en formas
normales anteriores.

NORMALIZACION
6
UNC EJERCICIOS DE NORMALIZACION

Por lo tanto, hay que poner en la balanza hasta dónde conviene normalizar para que el
resultado sea un modelo de datos eficiente y efectivo, aunque no cabe duda que con las tres
primeras formas normales las probabilidades de obtener este resultado son muy altas.

II. BIBLIOGRAFIA

Estos ejercicios se han elaborado tomando como principales referencias los textos
siguientes.

https://prezi.com/omjlhd66hrf5/normalizacion-de-base-de-datos/
http://cvb.ehu.es/open_course_ware/castellano/social_juri/
herrami_gestion/normalizacion.pdf
http://www.angelfire.com/ult/lupa/bd/normalizacion1.htm
http://nelwibaez.files.wordpress.com/2011/04/guc3ada-de-
ejercicios_iii_normalizacic3b3n2.docx

12-11-2014

NORMALIZACION
7

También podría gustarte