You are on page 1of 8

Normalizacin es un conjunto de reglas que sirven para ayudar a los diseadores

a desarrollar un esquema que minimice los problemas de lgica. Cada regla est
basada en la que le antecede. La normalizacin se adopt porque el viejo estilo de
poner todos los datos en un solo lugar, como un archivo o una tabla de la base de
datos, era ineficiente y conduca a errores de lgica cuando se trataba de
manipular los datos. Por ejemplo, vea la base de datos MiTienda. Si almacena
todos los datos en la tabla Clientes, sta podra verse como se muestra a
continuacin:
Clientes
ID_Cliente Nombre
Apellidos
Nombre_Producto1 Costo_Producto1
Imagen_Producto1 Nombre_Producto2 Costo_Producto2
Imagen_Producto2 Fecha_Pedido
Cantidad_Pedido
Nombre_Cia_Envios
La tabla se ha descrito de manera abreviada pero aun as representa la idea
general.
Cmo podra aadir un nuevo cliente en su tabla Clientes? Debera aadir un
producto y un pedido tambin. Qu tal si quisiera emitir un informe de todos los
productos que vende? No podra separar fcilmente los productos de los clientes
con una simple instruccin SQL. Lo bello de las bases de datos relacionales, si
estn bien diseadas, es que puede hacer esto fcilmente.
La normalizacin tambin hace las cosas fciles de entender. Los seres humanos
tenemos la tendencia de simplificar las cosas al mximo. Lo hacemos con casi
todo desde los animales hasta con los automviles. Vemos una imagen de gran
tamao y la hacemos menos compleja agrupando cosas similares juntas. Las
guas que la normalizacin provee crean el marco de referencia para simplificar la
estructura. En su base de datos de muestra es fcil detectar que usted tiene tres
diferentes grupos: clientes, productos y pedidos. Si sigue las guas de la
normalizacin, podra crear las tablas basndose en estos grupos.
El proceso de normalizacin tiene un nombre y una serie de reglas para cada fase.
Esto puede parecer un poco confuso al principio, pero poco a poco ir
entendiendo el proceso, as como las razones para hacerlo de esta manera. A la
mayora de la gente le encantan las hojas de clculo por la forma en la que
manejan sus datos. El tiempo que le lleve reconfigurar su esquema para ajustarlo
al proceso de normalizacin, siempre ser bien Invertido. Al fin y al cabo, esto le

tomar menos tiempo que el que tendra que invertir, para cortar y pegar sus
columnas de datos para generar el informe que quiere su jefe.
Otra ventaja de la normalizacin de su base de datos es el consumo de espacio.
Una base de datos normalizada puede ocupar menos espacio en disco que una no
normalizada. Hay menos repeticin de datos, lo que tiene como consecuencia un
mucho menor uso de espacio en disco.
Grados de normalizacin
Existen bsicamente tres niveles de normalizacin: Primera Forma Normal (1NF),
Segunda Forma Normal (2NF) y Tercera Forma Normal (3NF). Cada una de estas
formas tiene sus propias reglas. Cuando una base de datos se conforma a un
nivel, se considera normalizada a esa forma de normalizacin. Por ejemplo,
supongamos que su base de datos cumple con todas las reglas del segundo nivel
de normalizacin. Se considera que est en la Segunda forma Normal. No siempre
es una buena idea tener una base de datos conformada en el nivel ms alto de
normalizacin. Puede llevar aun nivel de complejidad que pudiera ser evitado si
estuviera en un nivel ms bajo de normalizacin.
Primera Forma Normal
La regla de la Primera Forma Normal establece que las columnas repetidas deben
eliminarse y colocarse en tablas separadas. sta es una regla muy fcil de seguir.
Observe el esquema de la tabla Clientes de la base de datos.
Clientes
ID Cliente
Nombre
Apellidos
Nombre_Producto1
Costo_Producto1
Imagen_Producto1
Nombre_Producto2
Costo_Producto2

Imagen_Producto2
Fecha_Pedido
Cantidad_Pedido
Nombre Cia Envios
La tabla tiene varias columnas repetidas. stas se refieren principalmente a los
productos. De acuerdo con la regla, debe eliminar las columnas repetidas y
crearles su propia tabla.
Eliminacin de datos repetidos en una base de datos
Clientes Pedidos
ID_Clientes Nombre_Productos
Nombre Costo_Producto
Apellidos Imagen_Producto
Direccion
Numero_Pedido
Fecha_Pedido
Cantidad_Pedido
Clave_Cia_Envios
Nombre_Ci_ Envios
Ahora tiene dos tablas. Pero todava hay un problema. No hay forma de relacionar
los datos de la tabla original con los de la nueva tabla. Para hacerlo, debe aadir
un campo clave a la segunda tabla de forma que se establezca la relacin. Aada
a la tabla Productos una clave primaria que se llame ID_Producto y aada una
clave a la tabla Clientes que la relacione con la tabla Productos. El campo
ID_Producto es el candidato ideal.
Primera Forma Normal
Clientes Pedidos
ID_Productos ID_Productos

ID_Clientes Nombre_Productos
Nombre Costo_Producto
Apellidos Imagen_Producto
Direccion
Numero_Pedido
Fecha_Pedido
Cantidad_Pedido
Clave_Cia_Envios
As, se ha establecido una relacin uno a varios. sta representa lo que la base de
datos estar haciendo en la vida real. El cliente tendr muchos productos que
podr comprar, sin importar cuntos otros clientes quieran comprarlos tambin.
Adems, el cliente necesitar haber pedido un producto para ser un cliente. Usted
ya no est obligado a aadir un cliente cada vez que aade un nuevo producto a
su inventario.
Poner la base de datos en la Primera Forma Normal resuelve el problema de los
encabezados de columna mltiples. Muy a menudo, los diseadores de bases de
datos inexpertos harn algo similar a la tabla no normalizada. Una y otra vez,
crearn columnas que representen los mismos datos. En una empresa de
servicios de electricidad, haba una base de datos para el control de refacciones
de una planta nuclear. La tabla de su base de datos, la cual contena los nmeros
de parte de las refacciones, tena una columna repetida ms de treinta veces.
Cada vez que una nueva parte se tena que dar de alta, se creaba una nueva
columna para almacenar la informacin. Obviamente, el diseo de la base de
datos era bastante pobre y, por lo mismo, resultaba una pesadilla para sus
programadores/administradores.
La normalizacin ayuda a clarificar la base de datos ya organizarla en partes ms
pequeas y ms fciles de entender. En lugar de tener que entender una tabla
gigantesca y monoltica que tiene muchos diferentes aspectos, usted slo tiene
que entender objetos pequeos y ms tangibles, as como las relaciones que
guardan con otros objetos tambin pequeos. No es necesario mencionar que un
mejor entendimiento del funcionamiento de su base de datos conducir aun mejor
aprovechamiento de sus activos.

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. Una
dependencia parcial es un trmino que describe a aquellos datos que no
dependen de la clave de la tabla para identificarlos. En la base de datos de
muestra, la informacin de pedidos est en cada uno de los registros. Sera mucho
ms simple utilizar nicamente el nmero del pedido. El resto de la informacin
podra residir en su propia tabla. Una vez que haya organizado la informacin de
pedidos.
Eliminacin de las dependencias parciales
Segunda Forma Normal
Clientes Pedidos Productos
ID_Productos ID_Productos ID_Producto
ID_Clientes Nombre_Productos Fecha_Compra
Nombre Cantidad_Pedido Costos_Productos
Apellidos Imagen_Producto
Direccion
Numero_Pedido
Nombre_Cia_Envios
De nuevo, al organizar el esquema de esta forma puede reflejar el mundo real en
su base de datos. Tendra que hacer algunos cambios en sus reglas del negocio
para que esto fuera aplicable, pero para ilustrar la normalizacin, as est bien.
Una de las mayores desventajas de la normalizacin es el tiempo que lleva
hacerlo. La mayora de la gente est demasiado ocupada, y emplear tiempo para
asegurarse de que sus datos estn normalizados cuando todo funciona ms o
menos bien, parece ser un desperdicio de tiempo. Pero no es as. Usted tendr
que emplear ms tiempo arreglando una base de datos no normalizada que el que
empleara en una normalizada.
Al haber alcanzado la Segunda Forma Normal, usted puede disfrutar de algunas
de las ventajas de las bases de datos relacionales. Por ejemplo, puede aadir

nuevas columnas a la tabla Clientes sin afectar a las tablas Productos y Pedidos.
Lo mismo aplica para las otras tablas. Alcanzar este nivel de normalizacin
permite que los datos se acomoden de una manera natural dentro de los lmites
esperados.
Una vez que ha alcanzado el nivel de la Segunda Forma Normal, se han
controlado la mayora de los problemas de lgica. Puede insertar un registro sin un
exceso de datos en la mayora de las tablas. Observando un poco ms de cerca la
tabla Clientes, vemos la columna Nombre_Cia_Envios. sta no es dependiente del
cliente. El siguiente nivel de normalizacin explicar cmo solucionar esto.
Tercera Forma Normal
La regla de la Tercera Forma Normal seala que hay que eliminar y separar
cualquier dato que no sea clave. El valor de esta columna debe depender de la
clave. Todos los valores deben identificarse nicamente por la clave. En la base de
datos de muestra, la tabla Clientes contiene la columna Nombre_Cia_Envios, la
cual no se identifica nicamente por la clave. Podra separar estos datos de la
tabla y ponerlos en una tabla aparte.
Eliminacin de los datos que no son claves para la Tercera Forma Normal
Clientes Productos PedidoMaestro PedidoDetallado Cias_Envios
ID_cliente ID_Producto ID_Pedido ID_PedidoDetallado ID_Cia_Envios
ID_Producto Nombre_Producto Fecha_Pedido ID_Pedido Nombre_Cia_Envios.
Numero_Pedido Costos_Productos Cantidad_Pedidos Fecha_Pedido
ID_Cia_Envios Foto_Producto Cantidad_Pedido
Nombre
Apellidos
Direccin
Ahora todas sus tablas estn en la Tercera Forma Normal. Esto le da ms
flexibilidad y previene errores de lgica cuando inserta o borra registros. Cada
columna en la tabla est identificada de manera nica por la clave, y no hay datos
repetidos. Esto provee un esquema limpio y elegante, que es fcil de trabajar y
expandir.

Qu tan lejos debe llevar la normalizacin


La siguiente decisin es qu tan lejos debe llevar la normalizacin? La
normalizacin es una ciencia subjetiva. Determinar las necesidades de
simplificacin depende de usted. Si su base de datos va a proveer informacin aun
solo usuario para un propsito simple y existen pocas posibilidades de expansin,
normalizar sus datos hasta la 3FN sea quiz algo extremoso. Las reglas de
normalizacin existen como guas para crear tablas que sean fciles de manejar,
as como flexibles y eficientes.
A veces puede ocurrir que normalizar sus datos hasta el nivel ms alto no tenga
sentido. Por ejemplo, suponga que aade una columna extra para la direccin en
su base de datos. Es muy normal tener dos lneas para la direccin. El esquema
de la tabla podra verse como se muestra a continuacin:
ID_Cliente
Nombre
Apellidos
Direccion1
Direccion2
De acuerdo con las reglas, si aplica la Primera Forma Normal, la columna de
direccin debera sacarse de esta tabla y reemplazarse con la clave de una nueva
tabla. El resultado de este esquema se muestra a continuacin:
ID_Ciente ID_Direccion
Nombre ID_Cliente
Apellidos Direccin
La base de datos ahora cumple con la Primera Forma Normal. Los clientes
pueden tener ms de una direccin. El problema aqu es que usted ha complicado
demasiado una idea simple, por tratar de seguir las reglas de normalizacin. En el
ejemplo mostrado, la segunda direccin es totalmente opcional. Est ah slo para
colectar informacin que pudiera utilizarse como informacin de contacto. No hay
necesidad de partir la tabla en dos y forzar las reglas de la normalizacin. En esta
instancia, el exceso de normalizacin frustra el propsito para el que se utilizan los

datos. Aade, de manera innecesaria, un nivel ms de complejidad. Una buena


forma de determinar si est llevando demasiado lejos su normalizacin, es ver el
nmero de tablas que tiene. Un nmero grande de tablas pudiera indicar que est
normalizando demasiado. Observe su esquema.
Est dividiendo tablas slo para seguir las reglas o estas divisiones son en
verdad prcticas? stas son el tipo de cosas que usted, el diseador de la base de
datos, necesita decidir. La experiencia y el sentido comn lo pueden auxiliar para
tomar la decisin correcta. La normalizacin no es una ciencia exacta. Es
subjetiva.
Existen seis niveles ms de normalizacin que no se han discutido aqu. Ellos son
Forma Normal Boyce-Codd, Cuarta Forma Normal (4NF), Quinta Forma Normal
(5NF) o
Forma Normal de Proyeccin-Unin, Forma Normal de Proyeccin-Unin Fuerte,
Forma Normal de Proyeccin-Unin Extra Fuerte y Forma Normal de Clave de
Dominio. Estas formas de normalizacin pueden llevar las cosas ms all de lo
que necesita. stas existen para hacer una base de datos realmente relacional.
Tienen que ver principalmente con dependencias mltiples y claves relacionales.
En resumen
La normalizacin es una tcnica que se utiliza para crear relaciones lgicas
apropiadas entre tablas de una base de datos.
Ayuda a prevenir errores lgicos en la manipulacin de datos. La normalizacin
facilita tambin agregar nuevas columnas sin romper el esquema actual ni las
relaciones.
Existen varios niveles de normalizacin: Primera Forma Normal, Segunda Forma
Normal, Tercera Forma Normal, Forma Normal Boyce-Codd, Cuarta Forma
Normal, Quinta Forma Normal o Forma Normal de Proyeccin-Unin, Forma
Normal de Proyeccin-Unin Fuerte, Forma Normal de Proyeccin-Unin Extra
Fuerte y Forma
Normal de Clave de Dominio. Cada nuevo nivel o forma lo acerca ms a hacer su
base de datos verdaderamente relacional.
Se discutieron las primeras tres formas. stas proveen suficiente nivel de
normalizacin para cumplir con las necesidades de la mayora de las bases de
datos.

You might also like