Normalización de Base de Datos
Normalización de Base de Datos
Normalización de Base de Datos
La tarea de un diseador de bases de datos consiste en estructurar los datos de forma que se eliminen duplicaciones innecesarias y se proporcione una ruta de bsqueda rpida para toda la informacin necesaria. El proceso de perfeccionar tablas, claves, columnas y relaciones para crear una base de datos eficaz se denomina normalizacin. La definicin completa de normalizacin es el proceso de descartar la repeticin de grupos, minimizar la redundancia, y separar los atributos que no sean de la clave
Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repeticin de datos, lo que tiene como consecuencia uso de espacio en disco. Integridad de datos (porque no hay datos redundantes ni omitidos). Consultas optimizadas (porque las tablas normalizadas generan combinaciones eficaces y rpidas).
Reglas de Normalizacin.
Las reglas de normalizacin se pueden resumir en una sola frase: "Cada atributo (columna) debe ser una realidad de la clave, toda la clave y nada ms que la clave". Cada tabla debe describir slo un tipo de entidad (como una persona, un lugar, un pedido de cliente o un producto). La normalizacin funciona mediante una serie de reglas llamadas formas normalizadas: Primera Forma Normal (1FN ) Segunda Forma Normal (2FN) Tercera Forma Normal (3FN) Forma Boyce Codd (BCNF) Cuarta Forma Normal (4FN) Quinta Forma Normal (5FN)
Una tabla se encuentra en 5FN si: La tabla est en 4FN No existen relaciones de dependencias no triviales que no siguen los criterios de las claves. Una tabla que se encuentra en la 4FN se dice que est en la 5FN si, y slo si, cada relacin de dependencia se encuentra definida por las claves candidatas.
Qu tan lejos debe llevar la normalizacin? Determinar las necesidades de simplificacin depende de nosotros. Si nuestra base de datos va a proveer informacin a un solo usuario para un propsito simple y existen pocas posibilidades de expansin, normalizar los datos hasta la 3FN quiz sea algo exagerado. 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 los datos hasta el nivel ms alto no tenga sentido. Se estn dividiendo tablas slo para seguir las reglas o estas divisiones son en verdad prcticas? stas son el tipo de cosas que nosotros como diseadores de la base de datos, necesitamos decidir, y la experiencia y el sentido comn nos pueden auxiliar para tomar la decisin correcta