You are on page 1of 14

Universidad Nacional

José María Arguedas

FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

TRABAJO DE BASE DE DATOS

GUIA DE NORMALIZACIÓN

CURSO: BASE DE DATOS.


DOCENTES:
 JESÚS FARFAN INCA ROCA
 NICMAR GARCIA
CICLO: IV
ALUMNOS:
 ROCIO QUISPE ROJAS
 ACHA TAIPE PERCY
 EDISON QUISPE VARGAS
GRUPO: IV
2019
PASOS A SEGUIR PARA LA NORMALIZACIÓN
PRIMERA FORMAL NORMAL (1FN)
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.

Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido para
NUM_ART, NOM_ART, CANT y PRECIO.
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 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.
TERCERA FORMAL NORMAL (3FN)
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.

EJEMPLOS:
Ejemplo 01:
Se inicia la interpretación con un conjunto de datos que conforman una estructura clásica
de un sistema de ventas. Estos datos están conformados por tres facturas de una empresa
cualquiera, que solicita crear una base de datos de ventas. Estos datos se muestran en una
planilla que, de ahora en más, se denominará relación "Origen de datos" y que representa
la totalidad de los datos que hay en las facturas de esta empresa, tal como muestra la
siguiente relación.

sucursal y forma de código código precio sub total


numero de fecha de la pago de del nombre de nombre cantidad unitario del del total de
factura factura factura cliente cliente articulo articulo articulo articulo articulo factura
01-500 01/01/2006 E 1 ALVARES 1 lápiz 3 1,25 3,75 48,2
01-500 01/01/2006 E 1 ALVARES 2 goma 6 0,75 4,5 48,2
01-500 01/01/2006 E 1 ALVARES 10 hojas 8 5 40 48,2
01-501 02/01/2006 CC 107 CASTRO 8 compas 4 4 16 16
02-500 03/01/2006 E 110 LIZ 20 regla 2 2,45 4,9 14,9
02-500 03/01/2006 E 110 LIZ 10 hojas 2 5 10 14,9

Solución:
Recordamos la 1FN
 Tenemos que eliminar los grupos repetidos

Separamos en dos tablas


 Una tabla de datos repetidos
 Otra tabla de datos no repetidos
Tabla A: Datos repetidos
sucursal y forma de
numero de fecha de la pago de código del nombre total de
factura factura factura cliente cliente factura
01-500 01/01/2006 E 1 ALVARES 48,2
01-500 01/01/2006 E 1 ALVARES 48,2
01-500 01/01/2006 E 1 ALVARES 48,2
01-501 02/01/2006 CC 107 CASTRO 16
02-500 03/01/2006 E 110 LIZ 14,9
02-500 03/01/2006 E 110 LIZ 14,9
Ahora si elimináremos los datos repetidos:
De este conjunto de tres filas, que repiten el mismo valor, solo debe quedar una
Esta fila que no se repite, no se alcanza por este mecanismo de (1FN)
De este conjunto de dos filas, que repiten el mismo valor, solo debe quedar una.
La Tabla A: Nos quedaría de esta forma

sucursal y forma de
numero de fecha de la pago de código del nombre total de
factura factura factura cliente cliente factura
01-500 01/01/2006 E 1 ALVARES 48,2
01-501 02/01/2006 CC 107 CASTRO 16
02-500 03/01/2006 E 110 LIZ 14,9

primary key (PK)


Tabla B: Datos no repetidos
codigo de nombre cantidad precio unitario sub total del
articulo articulo articulo del articulo articulo
1 lapiz 3 1,25 3,75
2 goma 6 0,75 4,5
10 hojas 8 5 40
8 compas 4 4 16
20 regla 2 2,45 4,9
10 hojas 2 5 10

primary key (PK)


Para que las tablas separadas no pierdan la relación, debemos pasar de la primera Tabla
A, su primary key (PK) a la otra tabla, y esta pasaría como una clave foreign key (FK).
Tabla B: Nos quedaría de esta forma

sucursal y código precio sub


numero de de nombre cantidad unitario del total del
factura articulo articulo articulo articulo articulo
01-500 1 lapiz 3 1,25 3,75
01-500 2 goma 6 0,75 4,5
01-500 10 hojas 8 5 40
01-501 8 compas 4 4 16
02-500 20 regla 2 2,45 4,9
02-500 10 hojas 2 5 10

primary key (PK)


foreign key (FK).
LA 1FN: nos quedaría de esta Forma
Tabla: Factura

sucursal y forma de
numero de fecha de la pago de código del nombre total de
factura factura factura cliente cliente factura
01-500 01/01/2006 E 1 ALVARES 48,2
01-501 02/01/2006 CC 107 CASTRO 16
02-500 03/01/2006 E 110 LIZ 14,9

primary key (PK)


Tabla: Detalle de Factura

sucursal y código precio sub


numero de de nombre cantidad unitario del total del
factura articulo articulo articulo articulo articulo
01-500 1 lapiz 3 1,25 3,75
01-500 2 goma 6 0,75 4,5
01-500 10 hojas 8 5 40
01-501 8 compas 4 4 16
02-500 20 regla 2 2,45 4,9
02-500 10 hojas 2 5 10

primary key (PK)


foreign key (FK).

Recordamos la 2FN
 Determinar cuáles columnas que no son llave no dependen de la llave primaria
de la tabla.
 Analizamos las dependencias Funcionales
Tabla: Factura

sucursal y forma de
numero de fecha de la pago de código del nombre total de
factura factura factura cliente cliente factura
01-500 01/01/2006 E 1 ALVARES 48,2
01-501 02/01/2006 CC 107 CASTRO 16
02-500 03/01/2006 E 110 LIZ 14,9
Todo el dato de la tabla factura dependen de la llave primaria

Lo cual podemos decir que la Tabla Factura ya está en la Segunda Forma Normal, y
quedaría de esa forma.
Tabla: Detalle de Factura

sucursal y código precio sub


numero de de nombre cantidad unitario del total del
factura articulo articulo articulo articulo articulo
01-500 1 lapiz 3 1,25 3,75
01-500 2 goma 6 0,75 4,5
01-500 10 hojas 8 5 40
01-501 8 compas 4 4 16
02-500 20 regla 2 2,45 4,9
02-500 10 hojas 2 5 10

En esta tabla no primarias que están que están asociadas al código del artículo que integran
la clave primaria.
Aquí, si existen una relación entre atributos no clave y un componente de la clave
primaria. Este caso, es relación directa que existe entre la columna “nombre artículo” y
“precio artículo”, con el atributo “código de artículo”, componente de la clave primaria. Si
cambia código del artículo debe cambiar, necesariamente, la descripción del artículo y el precio.
Por lo tanto se separan en otra tabla
Tabla: Artículos

precio
código de unitario del
articulo nombre articulo articulo
1 lápiz 1,25
2 goma 0,75
10 hojas 5
8 compas 4
20 regla 2,45
10 hojas 5
Clave primaria relación “articulo”, simple.
La Tabla Detalle de Factura quedaría de esta forma

sucursal y código precio sub


numero de de nombre cantidad unitario del total del
factura articulo articulo articulo articulo articulo
01-500 1 lapiz 3 1,25 3,75
01-500 2 goma 6 0,75 4,5
01-500 10 hojas 8 5 40
01-501 8 compas 4 4 16
02-500 20 regla 2 2,45 4,9
02-500 10 hojas 2 5 10
El código articulo ahora se convierte en una foreign key (FK).

LA 2FN: nos quedaría de esta Forma


Tabla: Factura

sucursal y forma de
numero de fecha de la pago de código del nombre total de
factura factura factura cliente cliente factura
01-500 01/01/2006 E 1 ALVARES 48,2
01-501 02/01/2006 CC 107 CASTRO 16
02-500 03/01/2006 E 110 LIZ 14,9

Tabla: Detalle de Factura

sucursal y código precio sub


numero de de nombre cantidad unitario del total del
factura articulo articulo articulo articulo articulo
01-500 1 lapiz 3 1,25 3,75
01-500 2 goma 6 0,75 4,5
01-500 10 hojas 8 5 40
01-501 8 compas 4 4 16
02-500 20 regla 2 2,45 4,9
02-500 10 hojas 2 5 10
El código articulo ahora se convierte en una foreign key (FK).

Tabla: Artículos

precio
código de unitario del
articulo nombre articulo articulo
1 lápiz 1,25
2 goma 0,75
10 hojas 5
8 compas 4
20 regla 2,45
10 hojas 5
Clave primaria relación “articulo”, simple.

Recordamos la 3FN
 Determinar las columnas que son dependientes de otra columna no llave.
 Analizamos la dependencia transitiva
Entonces, se deberá encontrar, dentro de la relación, un subconjunto de atributos con
dependencias transitiva que ninguno de ellos pertenezca a la clave primaria y que, al cambiar el
valor de un atributo, necesariamente cambiaran su valor otros atributos también.
Tabla: Factura

sucursal y forma de
numero de fecha de la pago de código del nombre total de
factura factura factura cliente cliente factura
01-500 01/01/2006 E 1 ALVARES 48,2
01-501 02/01/2006 CC 107 CASTRO 16
02-500 03/01/2006 E 110 LIZ 14,9

Las columnas, resaltantes con el color Celeste, son dependientes entre si y luego, dependerán de
la primary key (PK).
Por lo tanto, se separan en otra tabla
Tabla: Cliente

código del nombre


cliente cliente
1 ALVARES
1 ALVARES
1 ALVARES
107 CASTRO
110 LIZ
110 LIZ

Clave primaria de las tablas, cliente y factura


Por lo tanto en la tabla Factura quedaría de esta forma

sucursal y forma de
numero de fecha de la pago de código del total de
factura factura factura cliente factura
01-500 01/01/2006 E 1 48,2
01-501 02/01/2006 CC 107 16
02-500 03/01/2006 E 110 14,9

El código del cliente ahora se convierte en una foreign key (FK).

En las demás tablas ya están en la tercera forma normal.


LA 3FN: nos quedaría de esta Forma
Tabla: Factura

sucursal y forma de
numero de fecha de la pago de código del total de
factura factura factura cliente factura
01-500 01/01/2006 E 1 48,2
01-501 02/01/2006 CC 107 16
02-500 03/01/2006 E 110 14,9

primary key (PK)


foreign key (FK).
Tabla: Cliente

código del nombre


cliente cliente
1 ALVARES
1 ALVARES
1 ALVARES
107 CASTRO
110 LIZ
110 LIZ

Clave primaria de las tablas, cliente y factura

Tabla: Detalle de Factura

sucursal y código precio sub


numero de de nombre cantidad unitario del total del
factura articulo articulo articulo articulo articulo
01-500 1 lapiz 3 1,25 3,75
01-500 2 goma 6 0,75 4,5
01-500 10 hojas 8 5 40
01-501 8 compas 4 4 16
02-500 20 regla 2 2,45 4,9
02-500 10 hojas 2 5 10
El código articulo ahora se convierte en una foreign key (FK).
Tabla: Artículos

precio
código de unitario del
articulo nombre articulo articulo
1 lápiz 1,25
2 goma 0,75
10 hojas 5
8 compas 4
20 regla 2,45
10 hojas 5
Clave primaria relación “articulo”, simple.

Ejemplo 2:
 Base de datos de estudiantes

Nº de alumnos Nombre titular salón clase1 clase2 clase3


1022 Sr. Velásquez 1A-201 Arquitectura Gestión Economía
Ana.
4123 Sr. Rodríguez 1B-202 Dibujo Base de datos Matemático

Para la 1FN nos indica que debemos eliminar los datos repetidos.
En la tabla podemos observar que los datos repetidos son clas1, clas2, clas3, por lo tanto,
creamos una nueva tabla con el nombre de Nº de clase.

Nº de alumnos Nombre titular salón Nº de clase


1022 Sr. Velásquez 1A-201 Arquitectura
1022 Sr. Velásquez 1A-201 Gestión
1022 Sr. Velásquez 1A-201 Economía
4123 Sr. Rodríguez 1B-202 Dibujo
4123 Sr. Rodríguez 1B-202 Base de datos
Ana.
4123 Sr. Rodríguez 1B-202
Matemático
2FN

1 tabla Nº de alumnos Nombre titular salón


1022 Sr. Velásquez 1A-201
4123 Sr. Rodríguez 1B-202

2 tabla
Nº de alumnos Nº de clase
1022 Arquitectura
1022 Gestión
1022 Economía
4123 Dibujo
4123 Base de datos
Ana.
4123
Matemático
Para la 2FN tenemos que determinar, cuales son las columnas que no son llaves no
dependen de la llave primaria, eliminar la tabla y crear una nueva tabla.

De la tabla podemos observar que eliminamos el Nº de alumnos ya que no dependía de


la llave primaria.
Como podemos observar en la segunda tabla ya tenemos los datos de la columna que no
dependen de la llave primaria, pero para que no pierdan relación la llave primaria migra
a la otra tabla como llave foránea.

3FN

La 3FN nos dice: Determinar las columnas que son dependientes de otra columna no
llave. Eliminar esas columnas y crear una segunda tabla con esas columnas.
 En la tabla 1 podemos observar que la columna Nombre titular depende del
salón, es así que se crea otra tabla, pero con los datos de esa columna asi como
lo podemos observar en la tabla2.
Tabla1

Nº de alumnos Nombre titular salón


1022 Sr. Velásquez 1A-201
4123 Sr. Rodríguez 1B-202

Tabla2
Nombre titular salón Departamento
Sr. Velásquez 1A-201 A
Sr. Rodríguez 1B-202 B

EJERCICIO 3.
En este ejercicio normalizaremos la tabla compra de un cierto producto.
TABLA DE COMPRA

NUM_ORDEN NUMERO DE ORDEN DE


COMPRA
FECHA_ORDEN FECHA DE ORDEN DE
COMPRA
NUM_PROVEEDOR NUMERO DEL PROVEEDOR
NOMBRE_PROVEEDOR NOMBRE DEL PROVEEDOR
DIRECC_PROVEEDOR DIRECCION PROVEEDOR
NIT_PROVEEDOR NIT O CEDULA DEL
PROVEEDOR
CODIGO CODIGO DEL ALBUM
TITULO TITULO DEL ALBUM
CANTIDAD CANTIDAD A PEDIR
VALOR_UNITARIO VALOR UNITARIO DEL
ALBUM

1FN.

 Tenemos que eliminar los grupos repetidos.

 Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.
GRUPO 1 GRUPO 2
NUM_ORDEN NUM_ORDEN
FECHA_ORDEN CODIGO
NUM_PROVEEDOR TITULO
NOMBRE_PROVEEDOR CANTIDAD
DIRECC_PROVEEDOR VALOR_UNITARIO
NIT_PROVEEDOR

2FN. Solo aquellos grupos de datos que tengan llaves combinadas son analizados. Analizaremos
el grupo 2 que tiene una llave compuesta.
En el grupo 2 cualquier atributo que no dependa de llave compuesta. Es decir que no dependa de
todos los atributos de la llave, es separado del grupo principal y es aislado en un grupo
independiente junto con el atributo de la llave inicial del cual si es dependiente.
La tabla o grupo 1 ya está en la segunda forma normal, por lo cual solo trabajaremos con el grupo
2.
En el grupo 2 el campo título depende del campo código.

GRUPO 1 GRUPO 2
NUM_ORDEN NUMERO_ORDEN
FECHA_ORDEN CODIGO
NUM_PROVEEDOR CANTIDAD
NOMBRE_PROVEEDOR
DIRECC_PROVEEDOR
NIT_PROVEEDOR

GRUPO 3

CODIGO
TITULO
VALOR
UNITARIO

3FN. Examinar las independientes entre los campos o atributos que no son llave.
En el grupo 1 los campos (NOMBRE_PROVEERDOR, DIRECCION_PROVEEDOR,
NIT_PROVEEDOR) dependen del campo NOMBRE_PROVEEDOR.
En el grupo 2 ya sacamos las independencias durante la segunda forma normal. El grupo 2 y el
grupo 3 ya están en la tercera forma normal.
Por lo tanto, trabajaremos solamente con el grupo 1.
Al separar en un grupo la información del proveedor, creamos un grupo 4.

TABLA 1 TABLA 2

NUMERO_ORDEN NUMERO_ORDEN
FECHA_ORDEN CODIGO
NOMBRE_PROVEEDOR CANTIDAD

TABLA 4 TABLA 3

NUMERO_PROVEEDOR CODIGO
NOMBRE_PROVEEDOR TITULO
DIRECCION_PROVEEDOR VALOR UNITARIO
NIT_PROVEEDOR

You might also like