(C_ORDENVENTA, D_FECHA, C_CLIENTE, N_CLIENTE, T_DIRECCION, C_VENDEDOR, N_VENDEDOR, C_ITEM, T_DESCRIPCION, Q_CANTIDAD, Q_PRECIO)
Procedemos a realizar la 1FN, separamos los datos en diferentes relaciones si es necesario, eliminamos datos repetidos. Obtenemos lo siguiente:
(C_ORDENVENTA, C_ITEM, T_DESCRIPCION, Q_CANTIDAD, Q_PRECIO)
(C_ORDENVENTA, D_FECHA, C_CLIENTE, N_CLIENTE, T_DIRECCION,C_VENDEDOR,N_VENDEDOR)
Una vez aplicada la 1FN, procedemos a aplicarle la 2FN, removiendo las dependencias parciales, buscando la dependencia funcional completa.
Item(C_ITEM, T_DESCRIPCION)
Venta(C_ORDENVENTA, C_ITEM, Q_CANTIDAD, Q_PRECIO)
(C_ORDENVENTA, D_FECHA, C_CLIENTE, N_CLIENTE, T_DIRECCION,C_VENDEDOR,N_VENDEDOR)
De esta manera nuestras relaciones adquieren mas sentido, pero aun se tendrían anomalias, por lo que es necesario pasar a la 3FN, eliminando todo tipo de dependencias transitivas, separandolas en nuevas relaciones:
Cliente(C_CLIENTE, N_CLIENTE, T_DIRECCION)
Vendedor(C_VENDEDOR, N_VENDEDOR)
Venta(C_ORDENVENTA, D_FECHA, C_CLIENTE, C_VENDEDOR)
Items(C_ITEM, T_DESCRIPCION, Q_PRECIO)
ItemVenta(C_ORDENVENTA, C_ITEM, Q_CANTIDAD)
Las tablas quedan ordenadas y en esta ocasion ya no ocurren anomalias en la insercion, modificación o la eliminación de datos. Por lo que podriamos pasar a realizar la 4FN, pero notamos que en nuestras relaciones no existen dependencias multivalores. Por lo que finalizamos la normalizacion de nuestra base de datos. Finalmente, las relaciones quedarían de la siguiente manera:
Vendedor (C_VENDEDOR, N_VENDEDOR)
Venta (C_ORDENVENTA, D_FECHA, C_CLIENTE, C_VENDEDOR)
Items (C_ITEM, T_DESCRIPCION, Q_PRECIO)
ItemVenta (C_ORDENVENTA, C_ITEM, Q_CANTIDAD)
No hay comentarios:
Publicar un comentario