SQL Server 2008 Normalizando Bases de Datos… Introducción

Logo SQL Server 2008

Una de las fallas principales por las que pasamos los desarrolladores al momento de implementar o crear Bases de Datos en SQL server 2008 o en cualquier motor de BDs es la falta de normalización en las mismas.

Esto conlleva, que normalmente creemos campos duplicados dentro de las tablas, provocando así que nuestras bases de datos sean extremadamente complejas, ocupen mayor espacio y recursos, además de crearnos un montón de problemas a la hora de actualizar, hacer consultas, realizar mantenimiento, etc….

Si normalizamos nuestras Bases de Datos podemos prevenir muchos de estos problemas, por ejemplo:

Supongamos que tenemos una compañía en la que vendemos varios tipos de productos a nuestros clientes, la información de cada uno de nuestros clientes la tenemos almacenada en una Base de Datos en la cual incluimos el nombre, apellido, dirección, teléfono, email , ciudad y país.

En esta base de datos no normalizada hemos creado una simple tabla, lo cual nos podría traer como consecuencia algunos problemas cuando tratemos de hacer consultas o al intentar modificar los datos existentes.

En este artículo sólo hablaré de las principales formas normales en modo de introducción, ya que es un tema un poco extenso y por eso he decidido dividirlo en cuatro (4) partes, Introducción, Primera Forma Normal, Segunda Forma Normal y la última será Tercera Forma Normal…

…Como hemos comentado más arriba estos problemas podrían ser:

Duplicación de Datos:
En una base de datos no normalizada, la información de un cliente puede ser ingresada cada vez que él haga una compra, almacenando los datos del cliente en una tabla Compras, esto trae como resultado la duplicidad de trabajo, además que es muy difícil que la información sea ingresada de la misma manera cada vez, por ejemplo revisemos las distintas maneras que un empleado puede ingresar un nombre (Marcos Gonzales), o una ciudad por ejemplo San Francisco (SF, San Fran, SFO), etc…

Una base de datos normalizada previene precisamente la duplicidad de trabajo y la asociación de los tipos.

Problemas de actualización:
Supongamos que la dirección de uno de nuestros clientes debe ser actualizada porque se ha mudado de domicilio, pero los datos del mismo han sido ingresados en múltiples lugares dentro de nuestra base de datos, esto provocaría que la actualización debería hacerse en los múltiples lugares donde haya sido ingresada la data, si la actualización no la hacemos en esos múltiples sitios dentro de nuestra base de datos, entonces la información llegaría a ser inconsistente, es decir sería correcta en algunos lugares e incorrecta en otros.

Problemas de Consulta:
Los datos en una base de datos que no está normalizada son difíciles de revisar, por ejemplo si en la tabla de pedidos, por cada compra que haga nuestro cliente se ingresan los datos del mismo, y el cliente hace varias compras en el transcurso del mes, tendremos una gran cantidad de información repetida, si el cliente se muda de domicilio, el único lugar donde la dirección sería la correcta correspondería a la última compra realizada por él.

Si revisáramos las órdenes de compra aleatoriamente la mayoría de la información sería incorrecta.

Para prevenir precisamente este tipo de fallas, es que se han creado ocho (8) formas de normalización, siendo las más comunes las tres primeras que son:

Primera forma normal: La tabla no debe tener grupos repetidos, y cada una de las columnas debe ser “Atómica”; Atómica no significa que deben ser explosivas, al contrario, Atómica significa que las columnas deben reducirse al menor valor posible.

Segunda forma normal: Cada columna depende de una clave primaria, la segunda forma normal aplica sólo cuando una tabla tendrá una clave primaria compuesta.

Tercera forma normal: Cada columna depende directamente de una clave primaria, esto es columnas sin clave primaria no serán directamente dependientes de otras columnas sin clave primaria.

Las formas normales son estrictamente progresivas para cada una de las formas normales superiores, es decir, la tercera forma normal es estricta con la segunda forma normal, la segunda forma normal es estricta con la primera, ¿qué decimos con esto? Que si una tabla cumple con la segunda forma normal, entonces por definición es también una tabla de primera forma normal.

Hasta acá llega esta introducción de normalización de Bases de datos.

Como siempre ante cualquier duda comuníquense y con gusto se las aclararé.

Saludos!
Roberto Pozo

Etiquetas: , , , , , ,

2 comentarios to “SQL Server 2008 Normalizando Bases de Datos… Introducción”

  1. luis Says:

    las columnas debe ser “Atómica”; Atómica no significa que deben ser explosivas jajajaj explosivas, aparte de enseñarnos buena informacion le pones un toque de chispa de humor.
    gracias.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: