You are on page 1of 10

NORMALIZACION DE DATOS

DESCOMPOSICION Y NORMALIZACION
Siempre que un analista de sistemas de base de datos arma una base de datos,
queda a su cargo descomponer dicha base en grupos y segmentos de registros,
este proceso es la descomposicin. Para la base de datos relacional, la accin
correspondiente puede dividirse y expresarse en trminos formales y se
denomina normalizacin a la misma.
La normalizacin es el proceso de organizar los datos en una base de datos. Esto
incluye la creacin de tablas y establece relaciones entre aquellas tablas segn
reglas diseadas para proteger la data y hacer la base de datos ms flexible al
eliminar redundancia y dependencia incoherente. Estas reglas se describen en
trminos de dependencia.

ANOMALIAS
El modelo relacional tiene como intencin la eliminacin de las anomalas que
ocurren en una base de datos. Una anomala es un cambio errneo a los datos.

Anomala de Insercin
Causada cuando se inserta datos en el detalle y no tiene registro principal.

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Anomala de Eliminacin
Causada cuando un registro se elimina de una tabla maestra sin eliminar
primero todos los registros hijos en la tabla detalle.

Anomala de Actualizacin

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Similar a la eliminacin, en la que tanto el maestro y los registros de detalle


deben ser actualizados a fin de evitar registros hurfanos en detalle. Se debe
asegurar que cualquier actualizacin de clave primaria sea propagado a los
hijos relacionados con las claves forneas en la tabla detalle.

DEPENDENCIA

Dependencia Funcional
Es una conexin entre uno o ms atributos. Por ejemplo si conocemos el
valor de FechaDeNacimiento podemos conocer el valor de Edad. A
FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos
formas: FechaDeNacimiento determina a Edad, o Edad es funcionalmente
dependiente de FechaDeNacimiento. De la normalizacin (lgica) a la
implementacin (fsica) puede ser sugerible tener stas dependencias
funcionales para lograr la eficiencia en las tablas.

Dependencia Transitiva
Sean X, Y, Z tres atributos de la misma entidad. Si Y depende
funcionalmente de X, y Z de Y, pero X no depende funcionalmente de Y, se
dice que Z depende transitivamente de X.
Ejemplo: Tenemos que FechaDeNacimiento determina a Edad y Edad
determina

Conducir,

indirectamente

podemos

saber

travs

de

FechaDeNacimiento si la persona es mayor de edad para poder conducir.

REGLAS DE NORMALIZACION
La normalizacin es un proceso mediante el cual un esquema de relacin que no
es satisfactorio se lleva a un nuevo esquema equivalente pero de mejor calidad en
cuanto al diseo.
Existen generalmente cinco formas normales en un diseo de base de datos, pero
las ms usadas son las tres primeras, la cuarta forma normal llamada tambin
Boyce Codd (BCNF) , y la quinta forma normal se consideran en pocas veces
Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

prcticas en un diseo de base de datos, la nica consecuencia que puede traer


el no utilizar estas formas normales es la de dar como resultado una tabla que
no sea perfecta, pero no debera afectar a su funcionamiento.

Primera Forma Normal


Elimine los grupos repetidos de las tablas individuales.
Cree una tabla independiente para cada conjunto de datos relacionados.
Identifique cada conjunto de datos relacionados con una clave principal.
No use varios campos en una sola tabla para almacenar datos similares.

Ejemplo 1: Un diseador desea guardar los nombres y los nmeros


telefnicos de los clientes. Procede a definir una tabla de cliente como la
que sigue:

Cliente
ID Cliente Nombre Apellido Telfono
123
Rachel Ingram 555-861-2025
456
James Wright 555-403-1659
789
Cesar
Dure
555-808-9633
El diseador se da cuenta de que se debe guardar mltiples nmeros
telefnicos para algunos clientes.

Cliente
ID Cliente Nombre Apellido Telfono 1
123
456
789

Rachel
James
Cesar

Ingram
Wright
Dure

Telfono 2 Telfono 3

555-861-2025
555-403-1659 555-776-4100
555-808-9633

Sin embargo, esta representacin hace uso de columnas que permiten


valores nulos, y por lo tanto no se conforman con la definicin de la 1NF.
Un diseo con 1FN hace uso de dos tablas: una tabla de cliente y una
tabla de telfono del cliente.

Cliente
ID Cliente Nombre Apellido
Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Telfono del cliente


ID Cliente Telfono
123
456
789

Rachel
James
Cesar

Ingram
Wright
Dure

123
456
456
789

555-861-2025
555-403-1659
555-776-4100
555-808-9633

En este diseo no ocurren grupos repetidos de nmeros telefnicos. En


lugar de eso, cada enlace Cliente-a-Telfono aparece en su propio registro.

Todos los campos deben estar en sus partes atmicas, es decir, si hay
campos que pueden ser divididos en ms partes, se deben de hacer.
Ejemplo 2: Si se tiene un campo que tenga todo el nombre de un lector, se
debe de separar en apellido paterno, apellido materno, primer nombre,
segundo nombre, tercer nombre.

Segunda Forma Normal


La regla de la Segunda Forma Normal establece que todas las dependencias
parciales se deben eliminar y separar dentro de sus propias tablas.
Cree tablas independientes para conjuntos de valores que se apliquen a

varios registros. (Eliminar datos redundantes).


Relacione estas tablas con una clave externa.

Los registros no deben depender de nada que no sea una clave principal de
una tabla, una clave compuesta si es necesario. Por ejemplo, considere la
direccin de un cliente en un sistema de contabilidad. La direccin se
necesita en la tabla Clientes, pero tambin en las tablas Pedidos, Envos,

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Facturas, Cuentas por cobrar y Colecciones. En lugar de almacenar la


direccin de un cliente como una entrada independiente en cada una de
estas tablas, almacnela en un lugar, ya sea en la tabla Clientes o en una
tabla Direcciones independiente.

Tercera forma normal


Incluir en cada tabla slo datos que pertenezcan a la misma unidad lgica
Elimine los campos que no dependan de la clave.
En general, siempre que el contenido de un grupo de campos pueda aplicarse
a ms de un nico registro de la tabla, considere colocar estos campos en
una tabla independiente. Por ejemplo, en una tabla Contratacin de
empleados, puede incluirse el nombre de la universidad de un candidato. Si
la informacin de las universidades se almacena en esta tabla, no hay forma
de enumerar las universidades que no tengan candidatos en ese momento.
Cree una tabla Universidad y vinclela a la tabla Contratacin de empleados
con el cdigo de universidad como clave.
EXCEPCIN: cumplir la tercera forma normal, no siempre es prctico. Si
tiene una tabla Clientes y desea eliminar todas las dependencias posibles
entre los campos, debe crear tablas independientes para las ciudades,
cdigos postales, representantes de venta, clases de clientes y cualquier otro
factor que pueda estar duplicado en varios registros. Sin embargo, muchas
tablas pequeas pueden degradar el rendimiento o superar la capacidad de
memoria o de archivos abiertos. Puede ser ms factible aplicar la tercera
forma normal slo a los datos que cambian con frecuencia.

Cuarta Forma Normal


Una fila no debe contener dos o ms campos multi-valorados (aquellos que
pueden contener ms de un valor simultneamente) sobre una entidad.

Transforma las mltiples dependencias valoradas en dependencias


funcionales.

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Eliminar varios conjuntos de mltiples valores.

Para cumplir la Cuarta Forma Normal, en el ejemplo hemos dividido la tabla


en Empleados, Habilidades y Certificados. Esto es una transformacin
parcial porque todava hay relaciones de muchos a muchos. Para solucionar
este problema tenemos que hacer lo siguiente:

Quinta Forma Normal:


Su principio sugiere: La tabla original debe ser reconstruida desde las tablas
resultantes en las cuales ha sido troceada.

La tabla debe estar en 4NF.


Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

Las dependencias cclicas deben ser eliminadas. Una dependencia cclica


es algo que est relacionado con todo lo dems.
Ejemplo: tenemos una tabla cuya llave primaria est compuesta de tres
campos:

Ahora lo transformamos de tener una llave primaria compuesta por tres campos
a tres semi-tablas relacionadas, cada una con una llave primaria compuesta de
dos campos.

Ejemplo para Normalizar una tabla


1.

Tabla sin normalizar:

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

N
alumno

DespachoClase1 Clase2 Clase3


Tut

Tutor

1022

Garca 412

101-07 143-01 159-02

4123

Daz

201-01 211-02 214-01

2. Primera

forma

216

normal:

no

hay

grupos

repetidos

Las tablas slo deben tener dos dimensiones. Puesto que un alumno tiene
varias clases, estas clases deben aparecer en una tabla independiente. Los
campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos
de un problema de diseo.
En su lugar, cree otra tabla en la primera forma normal eliminando el
grupo repetido (N clase), segn se muestra a continuacin:
N
alumno

3.

Segunda

Tutor

DespachoTut

N
clase

1022

Garca 412

101-07

1022

Garca 412

143-01

1022

Garca 412

159-02

4123

Daz

216

201-01

4123

Daz

216

211-02

4123

Daz

216

214-01

forma

normal:

eliminar

los

datos

redundantes.

Observe los diversos valores de N clase para cada valor de N alumno en


la tabla anterior. N clase no depende funcionalmente de N alumno (la
clave principal), de modo que la relacin no cumple la segunda forma
normal.
Las dos tablas siguientes demuestran la segunda forma normal:

Alumnos:
N
alumno

Registro:
Tutor

DespachoTut

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

N
alumno

N
clase

1022

Garca 412

1022

101-07

4123

Daz

1022

143-01

1022

159-02

4123

201-01

4123

211-02

4123

214-01

216

4. Tercera forma normal: eliminar los datos no dependientes de la clave


En el ltimo ejemplo, Despacho-Tut (el nmero de despacho del tutor) es
funcionalmente dependiente del atributo Tutor. La solucin es pasar ese
atributo de la tabla Alumnos a la tabla Personal, segn se muestra a
continuacin:

Alumnos:

Personal:
Nombr Habitaci
Dept
e
n
Garca

412

42

Daz

216

42

Facultad de Ingeniera Industrial, Sistemas e Informtica

Ing. Ana Doris M. Barrera Loza

You might also like