0% encontró este documento útil (0 votos)
258 vistas14 páginas

I. Ejercicios de Normalización

Este documento presenta ejercicios para normalizar una base de datos de una biblioteca. Inicialmente, la tabla no cumple la primera forma normal porque el campo de nombre del lector es divisible. Luego se divide este campo y la tabla cumple la primera forma normal. Sin embargo, todavía hay dependencias parciales, por lo que se extraen tablas adicionales para cumplir la segunda forma normal. Finalmente, se sugiere crear más tablas para satisfacer la tercera forma normal y que cada tabla contenga información sobre una sola entidad.

Cargado por

Jiyu Lee
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
258 vistas14 páginas

I. Ejercicios de Normalización

Este documento presenta ejercicios para normalizar una base de datos de una biblioteca. Inicialmente, la tabla no cumple la primera forma normal porque el campo de nombre del lector es divisible. Luego se divide este campo y la tabla cumple la primera forma normal. Sin embargo, todavía hay dependencias parciales, por lo que se extraen tablas adicionales para cumplir la segunda forma normal. Finalmente, se sugiere crear más tablas para satisfacer la tercera forma normal y que cada tabla contenga información sobre una sola entidad.

Cargado por

Jiyu Lee
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

EJERCICIOS DE NORMALIZACION

I. EJERCICIOS DE NORMALIZACIÓN:

1. A través del siguiente ejercicio se intenta afirmar los conocimientos de normalización


con un ejemplo simplificado de una base de datos para una pequeña biblioteca.
CodLibro Titulo Autor editorial NombreLector echaDev
1001 Variable Compleja Murray Spiegel McGraw Hill Pérez Gómez, Juan 15/04/2014
1004 Visual Basic E. Petroustsos Anaya Ríos Terán, Ana 17/04/2014
1005 Estadística Murray Spiegel McGraw Hill Roca, René 16/04/2014
1006 Oracle University Nancy Greenberg y Priya Oracle Corp. García Roque, Luis 20/04/2014
Nathan
1007 Clipper 5.01 Ramalho McGraw Hill Pérez Gómez, Juan 18/04/2014

Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener
campos atómicos, pues el nombre del lector es un campo que puede (y conviene)
descomponerse en apellido paterno, apellido materno y nombres. Tal como se muestra en la
siguiente tabla.

CodLibro Titulo Autor editorial Paterno Materno Nombres FechaDev

1001 Variable compleja Murray Spiegel McGraw Hill Pérez Gómez Juan 15/04/2014

1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán Ana 17/04/2014


1005 Estadística Murray Spiegel McGraw Hill Roca René 16/04/2014
1006 Oracle University NancyGreenberg
NancyGreenberg Oracle Corp. García Roque Luis 20/04/2014
1006 Oracle University Priya Nathan Oracle Corp. García Roque Luis 20/04/2014
1007 Clipper 5.01 Ramalho McGraw Hill Pérez Gómez Juan 18/04/2014

Como se puede ver, hay cierta redundancia característica de 1NF.

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. Actualmente en nuestra tabla tenemos varias dependencias parciales si
consideramos como atributo clave el código del libro.

Por ejemplo, el título es completamente identificado por el código del libro, pero el
nombre del lector en realidad no tiene dependencia de este código, por tanto estos datos
deben ser trasladados a otra tabla.

   4
   1
   0
   2
  -
   1
   1
  -
   2
   1

1
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

EJERCICIOS DE NORMALIZACION

CodLibro Titulo  Autor  Editorial 


1001 Variable compleja Murray Spiegel McGraw Hil

1004 Visual Basic 5 E. Petroustsos Anaya


1005 Estadística Murray Spiegel McGraw Hill

1006 Oracle University NancyGreenberg


NancyGreenberg Oracle Corp
1006 Oracle University Priya Nathan Oracle Corp.

1007 Clipper 5.01 Ramalho McGraw Hill

La nueva tabla sólo contendrá datos del lector.

CodLector  Paterno Materno Nombres


501 Pérez Gómez Juan

502 Ríos Terán Ana


503 Roca René

504 García Roque Luis

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.

CodLibro  Titulo 
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

EJERCICIOS DE NORMALIZACION

1007 Clipper 5.01

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

CodEditorial  Editorial 
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é
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
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

EJERCICIOS DE NORMALIZACION

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

2. 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_cliente Provincia Num_art nom_art cant Precio
2301 23/02/14 101 Martin Cajamarca 3786 Red 3 35,00
2301 23/02/14 101 Martin Cajamarca 4011 Raqueta 6 65,00
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

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
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
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

EJERCICIOS DE NORMALIZACION

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
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.

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

A r tícul
cu l os
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


Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

EJERCICIOS DE NORMALIZACION

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.

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

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)

3. Normalización de la tabla de estudiantes:

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


Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.
Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

EJERCICIOS DE NORMALIZACION

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

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

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


Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial


Cancel Anytime.

EJERCICIOS DE NORMALIZACION

II. 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,
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.

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.

III. BIBLIOGRAFIA

Estos ejercicios se han elaborado


elaborado tomando como principales
principales referencias los textos
siguientes.

[Link]
[Link]
[Link] 

También podría gustarte