Professional Documents
Culture Documents
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS
GUIA DE NORMALIZACIÓN
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.
Solución:
Recordamos la 1FN
Tenemos que eliminar los grupos 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-501 02/01/2006 CC 107 CASTRO 16
02-500 03/01/2006 E 110 LIZ 14,9
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
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
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 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: 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
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
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
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
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.
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.
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
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
1FN.
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