Normalización de base de datos

11
NORMALIZACIÓN DE TABLAS DE BASES DE DATOS La tarea de un diseñador de bases de datos consiste en estructurar los datos de forma que se eliminen duplicaciones innecesarias y se proporcione una ruta de búsqueda rápida para toda la información necesaria. El proceso de perfeccionar tablas, claves, columnas y relaciones para crear una base de datos eficaz se denomina normalización. La definición completa de normalización es el proceso de descartar la repetición de grupos, minimizar la redundancia, y separar los atributos que no sean de la clave

Transcript of Normalización de base de datos

NORMALIZACIÓN DE TABLAS DE BASES DE DATOS

La tarea de un diseñador de bases de datos consiste en estructurar los datos de forma que se eliminen duplicaciones innecesarias y se proporcione una ruta de búsqueda rápida para toda la información necesaria. El proceso de perfeccionar tablas, claves, columnas y relaciones para crear una base de datos eficaz se denomina normalización.

La definición completa de normalización es el proceso de descartar la repetición de grupos, minimizar la redundancia, y separar los atributos que no sean de la clave

Ventajas de Normalizar bases de datos

Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repetición 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 rápidas).

Normalización Bases de Datos

Reglas de Normalización.

Las reglas de normalización se pueden resumir en una sola frase: "Cada atributo (columna) debe ser una realidad de la clave, toda la clave y nada más que la clave". Cada tabla debe describir sólo un tipo de entidad (como una persona, un lugar, un pedido de cliente o un producto).

La normalización 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)

Normalización Bases de Datos

Primera Forma Normal (1FN)

La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas.

Una tabla se encuentra en primera forma normal si impide que un atributo de una fila pueda tomar más de un valor.

Los Pasos a seguir son:

Eliminar los grupos repetidos.

Crear una nueva tabla con la clave de la tabla base y el grupo repetido.

Normalización Bases de Datos

Segunda Forma Normal (2FN) La regla de la Segunda Forma Normal establece que todas las dependencias

parciales se deben eliminar y separar dentro de sus propias tablas.

Dependencia Funcional: Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias parciales. (Todos los atributos que no son clave principal deben depender únicamente de la clave principal).

Los Pasos a seguir son:

Determinar cuáles columnas que no son clave, no dependen de la clave primaria de la tabla.

Eliminar esas columnas de la tabla base.

Crear una segunda tabla con esas columnas y la(s) columna(s) de la clave de la cual dependen.

Normalización Bases de Datos

Tercera Forma Normal (3FN)

La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia

funcional transitiva entre los atributos que no son clave.

Una tabla está normalizada en esta forma si todas las columnas que no son clave son funcionalmente dependientes por completo de la clave primaria y no hay dependencias transitivas.

Una dependencia transitiva es aquella en la cual las columnas que no son clave son dependientes de otras columnas que tampoco son clave.

Es decir, sucede cuando una tabla está en 2FN y además ningún atributo que no sea clave depende transitivamente de las claves de la tabla.

Los Pasos a seguir son:

Determinar las columnas que son dependientes de otra columna no clave.

Eliminar esas columnas de la tabla base.

Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes

Normalización Bases de Datos

Forma Boyce Codd (BCNF)

• Es una versión ligeramente más fuerte de la 3FN. La forma normal de Boyce-Codd requiere que no existan dependencias funcionales no triviales de los atributos que no sean un conjunto de la clave candidata. En una tabla en 3FN, todos los atributos dependen de una clave, de la clave completa y de ninguna otra cosa excepto de la clave (excluyendo dependencias triviales).

• Se dice que una tabla está en FNBC si y solo si está en 3FN y cada dependencia funcional no trivial tiene una clave candidata como determinante. En términos menos formales, una tabla está en FNBC si está en 3FN y los únicos determinantes son claves candidatas.

Normalización Bases de Datos

Cuarta Forma Normal (4FN)

Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus

dependencias múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias.

Los Pasos a seguir son:

• Para eliminar la redundancia de los datos, se deben eliminar las dependencias de valores múltiples.

• Construir varias tablas, donde cada una almacena datos para solamente uno de los atributos de valores múltiples.

Normalización Bases de Datos

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 sólo si, cada relación de dependencia se encuentra definida por las claves candidatas.

Normalización Bases de Datos

• ¿Qué tan lejos debe llevar la normalización?

Determinar las necesidades de simplificación depende de nosotros. Si nuestra base de datos va a proveer información a un solo usuario para un propósito simple y existen pocas posibilidades de expansión, normalizar los datos hasta la 3FN quizá sea algo exagerado.

Las reglas de normalización existen como guías para crear tablas que sean fáciles de manejar, así como flexibles y eficientes. A veces puede ocurrir que normalizar los datos hasta el nivel más alto no tenga sentido.

¿Se están dividiendo tablas sólo para seguir las reglas o estas divisiones son en verdad prácticas?

Éstas son el tipo de cosas que nosotros como diseñadores de la base de datos, necesitamos decidir, y la experiencia y el sentido común nos pueden auxiliar para tomar la decisión correcta

Normalización Bases de Datos

Investigar en que consiste el proceso de DESNORMALIZACIÓN.

Normalización Bases de Datos