Está en la página 1de 26

EJERCICIOS DE NORMALIZACION

Normalización de Base de Datos, es el proceso de organizar los datos en una base de datos que incluye la creación de tab
Este proceso es utilizado para ayudar a eliminar los datos redundantes.
Cinco formas de normalización (FN: Forma normal)
1FN: Eliminar grupos repetitivos
2FN: Eliminar datos redundantes
3FN: Eliminar columnas no depende de clave
4FN: Aislar Relaciones Múltiples Independientes
5FN: Aislar relaciones semánticamente relacionadas múltiples
Primera Forma Normal (1FN)
La primera forma normal significa que los datos están en un formato de entidad, lo que significa que se han cumplido las s

* Eliminar grupos repetidos en tablas individuales


* Crear una tabla independiente para cada conjunto de datos relacionados
* Identificar cada conjunto de relacionados con la clave principal
No utilice varios campos en una sola tabla para almacenar datos similares
En el ejemplo tenemos una tabla No Normalizada que contiene Estudiantes, Tutor, Habitación y las Clases 1,2 y 3.
Vamos a implementar la primera forma normal, luego la segunda y la tercera.
Al aplicarle la primera forma normal eliminamos los grupos repetidos quedándonos con una sola columna de clases y repit
del estudiante tutor y habitación y ahora no tenemos grupos repetidos porque aplicamos la primera forma normal (1FN).

Segunda Forma Normal (2FN)

La segunda forma normal asegura que cada atributo describe la entidad


Crear tablas separadas para el conjunto de valores y los registros múltiples, estas tablas se deben relacionar con una clav

Los registros no deben depender de otra cosa que la clave principal de la tabla, incluida la clave compuesta si es necesari

Al pasar a la segunda forma normal vamos a eliminar los datos redundantes, y para lograrlo vamos a crear dos tablas.
Una  tabla se llamara Estudiantes donde eliminaremos los datos redundantes quedándonos con los datos únicos (Estudiante, Tutor y
y en una segunda tabla que llamaremos Registro para el numero de estudiante y las clases que llevara en el ejemplo el estudiante 16
El contenido de la (1FN) Primera Forma Normal que estaba en una tabla ha sido divido
en dos tablas para eliminar los datos redundantes e introducirlo a la (2FN) Segunda Forma Normal.

Tercera forma normal (3FN)


La tercera forma normal comprueba las dependencias transitivas, eliminando campos que no  dependen de la clave princip

Los valores que no dependen de la clave principal no pertenecen a la tabla


Los campos que no pertenecen a la clave principal colóquelos en una tabla aparte y relacionen ambas tablas por medio de

Para pasar a la tercera forma normal tenemos que eliminar los campos de No Dependen de la Clave y para lograrlo dividim
y creamos la tabla Facultad donde trasladaremos la columna habitación que No Depende de la Clave que es la columna estudiante,
el nombre del tutor sera el enlace con al tabla estudiante aunque también podría ser la columna estudiante.
Otras formas de normalización

La cuarta forma normal también se llama la forma normal de Boyce Codd (BCNF) y la quinta forma normal existe, pero rar

El no tener en cuenta estas dos reglas de normalización adicionales puede resultar en un diseño de base de datos menos

La normalización de base de datos es un punto muy importante que deberíamos de tomar muy en serio para establecer ci
sobre los cuales podemos construir aplicaciones robustas que en el futuro no presenten problemas de base de datos difíciles de soluc
DEPENDENCIA FUNCIONAL
TRANSITIVA

os que incluye la creación de tablas y el establecimiento de relaciones entre ellas.

nifica que se han cumplido las siguientes condiciones:


ión y las Clases 1,2 y 3.

a sola columna de clases y repitiendo los datos


primera forma normal (1FN).

e deben relacionar con una clave externa.

clave compuesta si es necesario

o vamos a crear dos tablas.


datos únicos (Estudiante, Tutor y Habitación)
vara en el ejemplo el estudiante 1606 y 2602 llevara cada uno tres clases.
no dependen de la clave principal.

nen ambas tablas por medio de una clave externa

e la Clave y para lograrlo dividimos la tabla estudiante en dos tablas


ve que es la columna estudiante,

a forma normal existe, pero rara vez se consideran en el diseño práctico.

iseño de base de datos menos perfecto pero no debería afectar a la funcionalidad

muy en serio para establecer cimientos sólidos


de base de datos difíciles de solucionar.
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 siguie

ORDENES (id_orden, fecha, id_cliente, nom_cliente, distrito, num_art, nom_art, cant, precio)

Id_orden Fecha Id_cliente Nom_cliente Distrito


2301 2/23/2011 101 Martin Yanahuara
2301 2/23/2011 101 Martin Yanahuara
2301 2/23/2011 101 Martin Yanahuara
2302 2/25/2011 107 Herman Cayma
2303 2/27/2011 110 Pedro Sachaca
2303 2/27/2011 110 Pedro Sachaca

PRIMERA FORMAL NORMAL (1FN)

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

·        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 ORDENES y ARTICULOS_O
PRIMERA FORMA NORMAL
ordenes (id_orden, fecha, id_cliente, nom_cliente, estado)
Articulos_ordenes (id_orden, num_art, nom_art, cant, precio)

ORDENES
Id_orden Fecha Id_cliente Nom_cliente Distrito
2301 2/23/2011 101 Martin Yanahuara
2302 2/25/2011 107 Herman Cayma
2303 2/27/2011 110 Pedro Sachaca

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

SEGUNDA FORMAL NORMAL (2FN)


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
·     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 ORDENES está en 2FN. Cualquier valor único de ID_ORDEN determina un sólo valor para
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
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 ARTICULOS con dichas columnas y la llave primaria de la que dependen.

Las tablas quedan ahora de la siguiente manera.


SEGUNDA FORMA NORMAL
ARRTICULOS_ORDENES (id_orden, num_art, cant)
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

ARTICULOS ( num_art, nom_art, precio)

ARTICULOS
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

TERCERA FORMA NORMAL 3FN


La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave que sea depen
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
Sin embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y ESTADO son dependientes de ID_CLIENTE,

Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la cual dependen d
Las nuevas tablas CLIENTES y ORDENES se muestran a continuación.
ORDENES (id_orden, fecha, id_cliente)
ORDENES
Id_orden Fecha Id_cliente
2301 2/23/2011 101
2302 2/25/2011 107
2303 2/27/2011 110

CLIENTES (id_cliente, nom_cliente, estado)

CLIENTES
Id_cliente Nom_cliente Distrito
101 Martin Yanahuara
107 Herman Cayma
110 Pedro Sachaca

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

ORDENES (id_orden, fecha, id_cliente)


CLIENTES (id_cliente, nom_cliente, estado)
ARTICULOS ( num_art, nom_art, precio)
ARTICULOS_ORDENES (id_orden, num_art, cant)
as, vamos a considerar los datos de la siguiente tabla

m_art, nom_art, cant, precio)

Num_art nom_art cant Precio


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

enen un grupo repetido para NUM_ART, NOM_ART, CANT y PRECIO.


nvertir a la primera forma normal. Los pasos a seguir son:

base y el grupo repetido.

maremos ORDENES y ARTICULOS_ORDENES

ecir,
nda de la llave primaria de la tabla. Los pasos a seguir son:
n de la llave primaria de la tabla.

a(s) de la PK de la cual dependen.

D_ORDEN determina un sólo valor para cada columna.


aria ID_ORDEN.

tra en 2FN ya que las columnas PRECIO y NOM_ART

abla ARTICULOS_ORDENES
ia de la que dependen.

ualquier columna no llave que sea dependiente de otra columna no llave.

umna no llave.

mna no llave de la cual son dependientes.

ue tanto la tabla ARTICULOS, como la tabla ARTICULOS_ORDENES se encuentra


ESTADO son dependientes de ID_CLIENTE, y esta columna no es la llave primaria.

y la columna llave de la cual dependen dentro de una nueva tabla CLIENTES.


ón.
FACTURA DE COMPRA VENTA: La empresa COLOMBIAN SYSTEMS lo ha contratado como el “Ingeniero Encargado” pa
VENTA, usted debe analizar toda la información disponible y aplique el proceso de normalización, hasta llegar a la Te
Se pide realizar la respectiva justificación detallada de cada uno de los pasos que conduzcan al resultado final.

TABLA NO NORMALIZADA

Donde:

NUM_FAC: Número de la factura de compra venta


FECHA_FAC: Fecha de la factura de compra venta
NOM_CLIENTE: Nombre del cliente
DIR_CLIENTE: Dirección del cliente
DNI_CLIENTE: DNI del cliente
CIUDAD_CLIENTE: Ciudad del cliente
TELEF_CLIENTE: Teléfono del cliente
CATEGORIA: Categoría del producto
COD_PROD: Código del producto
DESCRIPCION: Descripción del producto
VAL_UNIT: Valor unitario del producto
CANT_PROD: Cantidad de productos q compra el cliente
La llave primaria es Número de Factura de venta: NUM_FAC

FACTURA

NUM_FAC FECHA_FAC NOM_CLIENTE DIR_CLIENTE DNI_CLIENTE


OO1 9/14/2019 Juan Flores Av. Unión 310 295478963
OO1 9/14/2019 Juan Flores Av. Unión 310 295478963
OO1 9/14/2019 Juan Flores Av. Unión 310 295478963
OO1 9/14/2019 Juan Flores Av. Unión 310 295478963
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO3 9/14/2019 Susana Carbajal Urb. Aurora A1 294758963
OO4 9/15/2019 Mery Santos Aproviord C-15 293654718
OO5 9/15/2019 Alicia Torres Av. Militar 222 296358947

PRIMERA FORMA NORMAL

FACTURA
NUM_FAC FECHA_FAC NOM_CLIENTE DIR_CLIENTE DNI_CLIENTE
OO1 9/14/2019 Juan Flores Av. Unión 310 295478963
OO2 9/14/2019 María Aragón Urb. Orquídeas 621 294758693
OO3 9/14/2019 Susana Carbajal Urb. Aurora A1 294758963
OO4 9/15/2019 Mery Santos Aproviord C-15 293654718
OO5 9/15/2019 Alicia Torres Av. Militar 222 296358947

PRIMERA FORMA NORMAL


FACTURA (NUM_FAC, FECHA_FAC, NOM_CLIENTE, DIR_CLIENTE, DNI_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE)
PRODUCTOS_FACTURA (NUM_FAC, CATEGORIA, COD_PROD, DESC_PROD, VAL_UNIT_CANT_PROD)

PRODUCTOS_FACTURA
NUM_FAC CATEGORIA COD_PROD DESC_PROD VAL_UNIT
OO1 A P-21 Rebotador GODOX S/ 69.00
OO1 A P-22 Parante de iluminación S/ 90.00
OO1 A P-23 filtro UV protector S/ 25.00
OO1 A P-24 montura para reflector S/ 52.00
OO2 A P-21 Rebotador GODOX S/ 69.00
OO2 A P-22 Parante de iluminación S/ 90.00
OO2 A P-23 filtro UV protector S/ 25.00
OO2 A P-24 montura para reflector S/ 52.00
OO2 A P-25 bracket de montura S/ 79.00
OO2 A P-26 lente compatible 50 m S/ 289.00
OO2 A P-27 difusor tipo tapa flash S/ 22.00
OO3 A P-23 filtro UV protector S/ 25.00
OO4 B P-22 parante iluminacion S/ 90.00
OO5 B P-24 montura para reflector S/ 52.00

SEGUNDA FORMA NORMAL

PRODUCTOS_FACTURA
NUM_FAC COD_PROD CANT_PROD
OO1 P-21 3
OO1 P-22 2
OO1 P-23 1
OO1 P-24 10
OO2 P-21 5
OO2 P-22 3
OO2 P-23 4
OO2 P-24 2
OO2 P-25 5
OO2 P-26 6
OO2 P-27 3
OO3 P-23 3
OO4 P-22 5
OO5 P-24 6

SEGUNDA FORMA NORMAL


PRODUCTOS_FACTURA (NUM_FACTURA, COD_PROD, CANT_PROD)
PRODUCTOS (COD_PROD, DESC_PROD, VAL_UNIT, CATEGORIA)

PRODUCTOS
COD_PROD DESC_PROD VAL_UNIT CATEGORIA
P-21 Rebotador GODOX S/ 69.00 A
P-22 Parante de iluminac S/ 90.00 A
P-23 filtro UV protector S/ 25.00 A
P-24 montura para reflec S/ 52.00 A
P-25 bracket de montura S/ 79.00 A
P-26 lente compatible 5 S/ 289.00 A
P-27 difusor tipo tapa fl S/ 22.00 A

TERCERA FORMA NORMAL

FACTURA
NUM_FAC FECHA_FAC DNI_CLIENTE
OO1 14-Sep 295478963
OO2 14-Sep 294758693
OO3 14-Sep 294758963
OO4 15-Sep 293654718
OO5 15-Sep 296358947

FACTURA (NUM_FAC, FECHA_FAC, DNI_CLIENTE)


CLIENTES (DNI_CLIENTE, NOM_CLIENTE, DIR_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE)

CLIENTES
DNI_CLIENTENOM_CLIENTE DIR_CLIENTE CIUDAD_CLIENTE TELEF_CLIENTE
295478963 Juan Flores Av. Unión 310 Arequipa 212121
294758693 María Aragón Urb. Orquídeas 621 Arequipa 242523
294758963 Susana Carbajal Urb. Aurora A1 Tacna 252625
293654718 Mery Santos Aproviord C-15 Arequipa 353639
296358947 Alicia Torres Av. Militar 222 Tacna 343738

La base de datos queda así:

PRODUCTOS (COD_PROD, DESC_PROD, VAL_UNIT, CATEGORIA)


FACTURA (NUM_FAC, FECHA_FAC, DNI_CLIENTE)
CLIENTES (DNI_CLIENTE, NOM_CLIENTE, DIR_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE)
PRODUCTOS_FACTURA (NUM_FACTURA, COD_PROD, CANT_PROD)
omo el “Ingeniero Encargado” para sistematizar la facturación. En la siguiente FACTURA DE COMPRA
ormalización, hasta llegar a la Tercera Forma Normal.
nduzcan al resultado final.

CIUDAD_CLIENTE TELEF_CLIENTE CATEGORIA COD_PROD DESC_PROD


Arequipa 212121 A P-21 Rebotador GODOX
Arequipa 212121 A P-22 Parante de iluminación
Arequipa 212121 A P-23 filtro UV protector
Arequipa 212121 A P-24 montura para reflector
Arequipa 242523 A P-21 Rebotador GODOX
Arequipa 242523 A P-22 Parante de iluminación
Arequipa 242523 A P-23 filtro UV protector
Arequipa 242523 A P-24 montura para reflector
Arequipa 242523 A P-25 bracket de montura
Arequipa 242523 A P-26 lente compatible 50 mm
Arequipa 242523 A P-27 difusor tipo tapa flash
Tacna 252625 A P-23 filtro UV protector
Arequipa 353639 B P-22 parante iluminacion
Tacna 343738 B P-24 montura para reflector

CIUDAD_CLIENTE TELEF_CLIENTE
Arequipa 212121
Arequipa 242523
Tacna 252625
Arequipa 353639
Tacna 343738

D_CLIENTE, TELEF_CLIENTE)
_CANT_PROD)

CANT_PROD
3
2
1
10
5
3
4
2
5
6
3
3
5
6
VAL_UNIT CANT_PROD
S/ 69.00 3
S/ 90.00 2
S/ 25.00 1
S/ 52.00 10
S/ 69.00 5
S/ 90.00 3
S/ 25.00 4
S/ 52.00 2
S/ 79.00 5
S/ 289.00 6
S/ 22.00 3
S/ 25.00 3
S/ 90.00 5
S/ 52.00 6
Se presenta una base de datos de una biblioteca, aplicar las reglas de normalización simpli

En una librería trabajan con la siguiente informacIón:


código del libro, título del libro, autor del libro, editor
lector y fecha de devolución.
Se desea realizar la normalización respectiva para arm
la Base de datos que necesita la Biblioteca.

BIBLIOTECA(cod_lib, tit_lib, autor_lib, editorial, nom_lector, fechadev)

cod_lib tit_lib autor_lib ecitorial


1001 Variable compleja Murray Spiegel McGraw Hill
1004 Visual Basic 5 E. Petroustsos Anaya
1005 Estadística Murray Spiegel McGraw Hill
1006 Oracle University Nancy Greenberg y Priya Nathan Oracle Corp.
1007 Clipper 5.01 Ramalho McGraw Hill
glas de normalización simplificando hasta la tercera forma normal

a siguiente informacIón:
o, autor del libro, editorial, nombre del

ción respectiva para armar correctamente


la Biblioteca.

nom_lector Fechadev
Pérez Gómez, Juan 4/15/2005
Ríos Terán, Ana 4/17/2005
Roca Suárez, René 4/16/2005
García Roque, Luis 4/20/2005
Pérez Gómez, Juan 4/18/2005

También podría gustarte