SQL Server 2008 Normalizando Bases de Datos Tercera Forma Normal

Logo SQL Server 2008

Luego de una semana extremadamente ocupada dando mis talleres y charlas, he vuelto para poder culminar estos artículos de Normalización de Bases de Datos…

Esta es la última parte donde hablaremos de la Tercera Forma Normal, la cual es un poco compleja para enetenderla desde el primer momento que se vé, así que trataré de ser lo mas claro posible…

Empezemos:

Una tabla en la tercera forma normal debe estar en la segunda forma normal y cada columna de clave no-principal debe ser no-transitiva (o directamente) dependiente sólo de la clave principal. En otras palabras, si alguna de las columnas de clave no-primaria dependen directamente de las otras columnas de claves no-primarias, la tabla no está en la tercera forma normal.

La diferencia entre la segunda forma normal y la tercera forma normal a veces no se logra comprender entre las personas que aprenden acerca de las formas normales por primera vez. La mayor diferencia es que la segunda forma normal se centra en la clave principal como una clave compuesta y requiere columnas con clave no-primaria que dependan completamenete de la clave primaria, no sólo una parte de ella.

Fijémonos en esta imagen:

SQL Server 2008 Tercera Forma Dependencia Directa

En la imagen anterior podemos observar que la tabla no está en la tercera forma normal, debido a la columna Telefono_Cliente.

La columna Telefono_Cliente depende directamente en la columna Nombre, en este sentido sería Nombre del cliente, debido a que este cliente realizó el pedido, el número de teléfono está en una relación indirecta con la clave principal IDPedido, que muestra una relación transitiva entre el Telefono_Cliente y el IDPedido.

Pensemos en un vendedor que sea el encargado de rellenar los datos para este pedido, si un cliente hace 50 pedidos, sería necesario entonces introducir el número de teléfono 50 veces diferentes en el pedido.

Para hacer compatible la tabla de pedidos con la tercera forma normal, es necesario crear una tabla Clientes y poner los datos de los clientes asociados en la tabla.

Veamos otra imagen para darnos una mejor idea:

SQL Server 2008 Tercera Forma Correcta

Como podemos observar, las columnas Nombre y Telefono_cliente han sido sustituidas por una columna IDCliente, además, en lugar de sólo el nombre del cliente y el número de teléfono, la tabla de clientes tiene todos los datos de los clientes asociados.

Con esto podemos tener una base de datos que cumpe con las tres (3) formas normales principales.

Hasta aquí llega este tema de normalización, ya que sólo íbamos a cubrir las tres primeras formas, espero les sean de ayuda para poder crear bases de datos normalizadas que les ayudarán a mantener una aplicación exitosa.

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

Saludos!
Roberto Pozo

Etiquetas: , , , , , ,

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: