Vous êtes sur la page 1sur 32

Normalizacin de una Base de Datos

La normalizacin es una tcnica que se ha desarrollado para obtener estructuras de datos eficientes, garantizando un buen diseo lgico de la BD. La normalizacin es un paso obligado cuando el esquema relacional se obtiene directamente desde la observacin del mundo real, sin pasar por la construccin de un modelo conceptual.

Normalizacin de una Base de Datos

El paso directo del mundo real a las relaciones, suele dar como resultado relaciones con algunos problemas que es necesario refinar aplicando la normalizacin. Es un proceso en el que un conjunto dado de relaciones es reemplazado por otro conjunto de relaciones, con una estructura ms simple y ms regular.

Normalizacin de una Base de Datos

Los problemas que pueden existir en un esquema de relacin son, entre otros:

Anomalas de repeticin: puede que cierta informacin est repetida innecesariamente. Anomalas de actualizacin: como consecuencia de las repeticiones, las actualizaciones pueden afectar a mltiples filas. Anomalas de insercin: puede ser imposible aadir informacin a la BD. Anomalas de borrado: el borrado de una fila podra implicar prdida de informacin.

Normalizacin de una Base de Datos

Existen varias formas normales, aunque en un proceso de normalizacin estndar es suficiente con llegar hasta la tercera o cuarta forma normal. El mtodo ms usado de normalizar consiste en descomponer, iterativamente, una relacin en dos o ms de forma normal ms refinada. Los requisitos exigen que no exista prdidas de informacin ni dependencias de atributos.

Normalizacin de una Base de Datos

Se dice que una relacin est en determinada forma normal si satisface las condiciones asociadas con dicha forma normal. Las tres primeras formas normales fueron definidas inicialmente por Codd. Boyce y Codd definieron una versin modificada de la tercera forma normal. Posteriormente fueron definidas la cuarta y quinta forma normal.

Normalizacin de una Base de Datos


Id Nombre Categoria
Oficial Oficial Repartidor Repartidor Repartidor

Supsor Sucursal
1145 1145 123 345 123 678 234

1123 M. Garca 1123 M. Garca 2321 C. Ramos 2321 C. Ramos 2321 C. Ramos

2321 C. Ramos

Repartidor

345 234

1145 C. Fernndez Repartidor

Normalizacin de una Base de Datos

La redundancia o repeticin en los datos, adems de desperdiciar espacio, puede conducir a perder la integridad de los datos. Si se tiene una inconsistencia de datos entre las tuplas que contienen datos repetidos se tiene una anomala de actualizacin. Si se insertan datos incompletos se tiene una anomala de insercin.

Normalizacin de una Base de Datos

La forma intuitiva de evitar o corregir tales problemas es dividir la relacin Empleados en dos relaciones, Empleados y Destinos, con lo cual se elimina la anomala. El mtodo ms formal es la normalizacin. La normalizacin es el proceso de dividir relaciones (tablas) en varias relaciones (tablas) para eliminar las anomalas y mantener la integridad de los datos.

Normalizacin de una Base de Datos


Primera Forma Normal Una relacin est en primera forma normal (1FN) si los valores en la relacin son atmicos para cada atributo de la relacin. En una tupla cada atributo slo puede tomar un nico valor. La definicin de Codd de una relacin incluye la condicin de que la relacin est en primera forma normal.

Normalizacin de una Base de Datos


Id Nombre Categora Oficial Supsor Sucursal 1145 123, 345

1123 M Garca

2321 C Ramos
1145 C Fernndez

Repartidor
Repartidor

123, 678, 234, 345


234

Normalizacin de una Base de Datos

Las dependencias funcionales (DF) proveen una manera para definir restricciones adicionales en un esquema relacional. La idea esencial es que el valor de un atributo en una tupla determina unvocamente el valor de otro atributo en esa misma tupla. Si A y B son atributos de la relacin R, entonces DF: A B Es decir, A determina funcionalmente B

Normalizacin de una Base de Datos

El atributo en la parte izquierda de una DF se llama determinante, porque ese valor determina el valor del atributo de la parte derecha. La clave de una relacin es un determinante, debido a que valor determina unvocamente el valor de todos los atributos en una tupla.

Normalizacin de una Base de Datos


Segunda Forma Normal Una relacin est en Segunda Forma Normal (2FN) si cualquier atributo que no forme parte de la clave no es funcionalmente dependiente de una parte de la clave. La 2FN solo puede violarse cuando la clave sea una clave compuesta; es decir, cuando conste de ms de un atributo.

Normalizacin de una Base de Datos


Id 1123 2321 1123 2321 Sucursal Fecha 123 123 345 678 Nombre

05-02-2007 M Garca 25-01-2007 C Ramos 19-02-2007 M Garca 06-03-2007 C Ramos

2321

234

12-04-2007 C Ramos

Normalizacin de una Base de Datos

La clave est compuesta por Id y Sucursal, el atributo Nombre depende funcionalmente de una parte de la clave (Id). La relacin no se encuentra en 2FN, lo que puede llevar a los siguientes problemas:

El nombre del empleado se repite en cada fila que contenga un destino para ese empleado. Si el nombre del empleado cambia, cada fila que contenga un destino de ese empleado debe ser actualizada. Esto es una anomala de actualizacin.

Normalizacin de una Base de Datos

Debido a esta redundancia, los datos podran dar lugar a inconsistencias con distintas filas, mostrando diferentes nombres para el mismo empleado. Si un empleado no tiene destinos, puede que no haya filas en las que guardar su nombre.

Los Problemas se solucionan partiendo la relacin original en dos relaciones ms pequeas


Destino (Id, Sucursal, Fecha) Empleado (Id, Nombre)

Normalizacin de una Base de Datos


Estas relaciones son ms pequeas que la relacin original y se llaman proyecciones. Una proyeccin resulta de la seleccin de algunos atributos de una relacin existente, que son representados como una nueva relacin. El proceso de descomponer una relacin que no est en 2FN en dos relaciones que estn en 2FN es el siguiente:

Crear una nueva relacin usando los atributos de la dependencia funcional (DF) responsable como los atributos en la nueva relacin.

Normalizacin de una Base de Datos


Los atributos dependientes, la parte derecha de la DF, se eliminan de la relacin original. Si hay ms de una DF, se repiten los pasos anteriores para cada DF que exista. Si el mismo determinante aparece en ms de una DF, toman todos los atributos funcionalmente dependientes con ese determinante como atributos no claves en la relacin teniendo al determinante como clave.

Normalizacin de una Base de Datos


Tercera Forma Normal Una relacin R est en tercera forma normal (3FN) si se encuentra en 2FN y adems ninguno de sus atributos no claves tiene dependencias transitivas respecto de las claves. Una dependencia transitiva aparece cuando un atributo no clave es funcionalmente dependiente de uno o ms atributos no claves.

Normalizacin de una Base de Datos


Id
1123 2321

Categora
Oficial Repartidor

Prima
450 300

1145

Oficial

450

Normalizacin de una Base de Datos

Si una relacin no est en 3FN aparecen problemas similares a los expuestos en la violacin del diseo de 2FN

La prima para cada categora se repite en las filas de cada empleado que tiene la misma categora, produciendo una redundancia de datos. Si la prima de una categora cambia, todas las filas afectadas deben ser actualizadas, lo que puede suponer anomalas de actualizacin. Si una fila es borrada se puede perder el dato de la prima para una categora, lo que supone anomala de borrado. Si no existen empleados en una categora no existirn filas en las que guardar la prima de esa categora, lo que supone anomala de insercin

Normalizacin de una Base de Datos

La solucin pasa por descomponer la relacin en dos relaciones:

La primera ser el resultado de eliminar de la anterior relacin, la columna del atributo transitivamente dependiente. La segunda relacin se forma con los atributos de la dependencia funcional entre los atributos no claves, eligiendo como clave al determinante de la dependencia.
R1 (Id, Categora) R2 (Categora, Prima)

Normalizacin de una Base de Datos


Forma Normal Boyce-Codd Una relacin est en forma normal BoyceCodd (FNBC) si para toda dependencia funcional el determinante es una clave. Para toda DF: A B , A es una clave. Si una relacin est en FNC, est tambin en 2FN, sin embargo lo inverso no es cierto. El criterio de FNBC es una versin perfeccionada de la 3FN debida a Boyce y Codd.

Normalizacin de una Base de Datos

Para transformar una relacin que no est en FNBC se procede de la siguiente forma: A partir de la relacin a transformar se forma una relacin R1 eliminando los atributos dependientes (parte derecha) de cualquier DF que haga fallar el criterio. Forme una nueva relacin R2 con los atributos de la DF que hace fallar el criterio de FNBC y elija como clave el determinante

Normalizacin de una Base de Datos

Si R1 o R2 no estn en FNBC, se contina aplicando el proceso de descomposicin hasta que todas las relaciones estn en FNBC. Debido a que toda relacin est, por definicin, en 1FN y debido a que las relaciones en FNBC estn siempre en 2FN, se cumple lo siguiente: FNBC implica 2FN implica 1FN

Normalizacin de una Base de Datos

Si se verifica que cada determinante en cada relacin es una clave de esa relacin (criterio FNBC), entonces todas las relaciones estn en primera, segunda y tercera forma normal. Esto simplifica enormemente el proceso de normalizacin, pues ahora slo se requiere comprobar un criterio.

Normalizacin de una Base de Datos

El criterio para la 3FN es un poco ms dbil que el criterio de FNBC, ya que no maneja dos casos de excepcin:

Un atributo no clave es dependiente de un atributo clave en una clave compuesta. Un atributo clave en una clave compuesta es dependiente de un atributo no clave.

FNBC incluye ambos casos. Por tanto, si una relacin est en FNBC entonces est tambin en 3FN, en el sentido de la dependencia transitiva, y est tambin en 2FN.

Normalizacin de una Base de Datos


Cuarta Forma Normal La 3FN es la forma ideal en lo referente a dependencias funcionales. Existen otras formas normales ya que:

Pueden existir otras dependencias en una base de datos adems de las dependencias funcionales, aunque estas ltimas son las ms habituales. Las dependencias no funcionales ms habituales son las dependencias multivaluadas.

Normalizacin de una Base de Datos

Se dice que una relacin est en cuarta forma normal (4FN) si cumple la 3FN y no tiene atributos multivaluados. Una dependencia multivaluada tiene lugar cuando el valor de un atributo determina un conjunto de valores mltiples. Este tipo de relaciones da lugar a una enorme duplicacin de valores de datos a causa de las dependencias multivaluadas.

Normalizacin de una Base de Datos


Nombre Edad Asociacin Deportes Materia Derecho I

Jos Prez 20 Jos Prez 20 Jos Prez 20 Jos Prez 20

Estudiantes Derecho I Deportes Matemticas I

Estudiantes Matemticas I

Normalizacin de una Base de Datos

La aplicacin de la 4FN debera eliminar dichas dependencias. El problema de las dependencias multivaluadas tiene su origen en los atributos multivaluados. Se soluciona poniendo todos los atributos multivaluados en relaciones formadas por ellos mismos junto con la clave a la cual se aplican los valores de los atributos.

Normalizacin de una Base de Datos

Otras formas normales La normalizacin puede continuar dando lugar a un mayor refinamiento en el diseo de una base de datos mediante la aplicacin de ms formas normales. El inters terico de este proceso tiene muy dudoso valor prctico. La mayora de productos comerciales no soportan formas normales superiores a FNBC

Vous aimerez peut-être aussi