Ejemplo Del Proceso de Normalización
Ejemplo Del Proceso de Normalización
Ejemplo Del Proceso de Normalización
La redundancia de los datos: repeticin de datos en un sistema. Anomalas de actualizacin: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales. Anomalas de borrado: prdidas no intencionadas de datos debido a que se han borrado otros datos. Anomalas de insercin: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.
Tomando como referencia la tabla siguiente: AUTORES Y LIBROS NOMBRE Date Ad.Mig. Ma.Piat. Date NACION USA ESP ITA USA CODLIBRO 999 888 777 666 TITULO IBD CyD CyD BdD EDITOR AW RM RM AW
Redundancia: cuando un autor tiene varios libros, se repite la nacionalidad. Anomalas de modificacin: Si Ad.Mig. y Ma.Piat. desean cambiar de editor, se modifica en los 2 lugares. A priori no podemos saber cuntos autores tiene un libro. Los errores son frecuentes al olvidar la modificacin de un autor. Se pretende modificar en un slo sitio. Anomalas de insercin: Se desea dar de alta un autor sin libros, en un principio. NOMBRE y CODLIBRO son campos clave, una clave no puede tomar valores nulos.
Asegurando:
El proceso de normalizacin nos conduce hasta el modelo fsico de datos y consta de varias fases denominadas formas normales, estas formas se detallan a continuacin. Definicin de la clave Antes de proceder a la normalizacin de la tabla lo primero que debemos de definir es una clave, esta clave deber contener un valor nico para cada registro (no podrn existir dos valores iguales en toda la tabla) y podr estar formado por un nico campo o por un grupo de campos. En la tabla de alumnos de un centro de estudios no podemos definir como campo clave el nombre del alumno ya que pueden existir varios alumnos con el mismo nombre. Podramos considerar la posibilidad de definir como clave los campos nombre y apellidos, pero estamos en la misma situacin: podra darse el caso de alumnos que tuvieran los mismos apellidos y el mismo nombre (Juan Fernndez Martn). La solucin en este caso es asignar un cdigo de alumno a cada uno, un nmero que identifique al alumno y que estemos seguros que es nico. Una vez definida la clave podremos pasar a estudiar la primera forma normal.
Primera forma normal (1NF) Se dice que una tabla se encuentra en primera forma normal (1NF) si y solo si cada uno de los campos contiene un nico valor para un registro determinado. Supongamos que deseamos realizar una tabla para guardar los cursos que estn realizando los alumnos de un determinado centro de estudios, podramos considerar el siguiente diseo:
Cdigo 1 2 3
Podemos observar que el registro de cdigo 1 si cumple la primera forma normal, cada campo del registro contiene un nico dato, pero no ocurre as con los registros 2 y 3 ya que en el campo cursos contiene ms de un dato cada uno. La solucin en este caso es crear dos tablas del siguiente modo:
Como se puede comprobar ahora todos los registros de ambas tablas contienen valores nicos en sus campos, por lo tanto ambas tablas cumplen la primera forma normal. Una vez normalizada la tabla en 1NF, podemos pasar a la segunda forma normal. Segunda forma normal (2NF) La segunda forma normal compara todos y cada uno de los campos de la tabla con la clave definida. Si todos los campos dependen directamente de la clave se dice que la tabla est es segunda forma normal (2NF). Supongamos que construimos una tabla con los aos que cada empleado ha estado trabajando en cada departamento de una empresa: Cdigo Empleado 1 2 3 4 2 Cdigo Dpto. 6 3 2 3 6 Nombre Juan Pedro Sonia Vernica Pedro Departamento Contabilidad Sistemas I+D Sistemas Contabilidad Aos 6 3 1 10 5
Tomando como punto de partida que la clave de esta tabla est formada por los campos cdigo de empleado y cdigo de departamento, podemos decir que la tabla se encuentra en primera forma normal, por tanto vamos a estudiar la segunda: 1. 2. El campo nombre no depende funcionalmente de toda la clave, slo depende del cdigo del empleado. El campo departamento no depende funcionalmente de toda la clave, slo del cdigo del departamento. El campo aos si que depende funcionalmente de la clave ya que depende del cdigo del empleado y del cdigo del departamento (representa el nmero de aos que cada empleado ha trabajado en cada departamento)
3.
Por tanto, al no depender todos los campos de la totalidad de la clave la tabla no est en segunda forma normal, la solucin es la siguiente: Tabla A Cdigo Empleado 1 2 3 4 Nombre Juan Pedro Sonia Vernica Tabla B Cdigo Departamento 2 3 6 Dpto. I+D Sistemas Contabilidad Cdigo Empleado 1 2 3 4 2 Tabla C Cdigo Departamento 6 3 2 3 6 Aos 6 3 1 10 5
Podemos observar que ahora si se encuentran las tres tablas en segunda forma normal, considerando que la tabla A tiene como ndice el campo Cdigo Empleado, la tabla B Cdigo Departamento y la tabla C una clave compuesta por los campos Cdigo Empleado y Cdigo Departamento. Tercera forma normal (3NF) Se dice que una tabla est en tercera forma normal si y solo si los campos de la tabla dependen nicamente de la clave, dicho en otras palabras los campos de las tablas no dependen unos de otros. Tomando como referencia el ejemplo anterior, supongamos que cada alumno slo puede realizar un nico curso a la vez y que deseamos guardar en que aula se imparte el curso. A voz de pronto podemos plantear la siguiente estructura: Cdigo 1 2 3 Nombre Marcos Lucas Marta Curso Informtica Ingls Contabilidad Aula Aula A Aula B Aula C
o o o
Nombre depende directamente del cdigo del alumno. Curso depende de igual modo del cdigo del alumno. El aula, aunque en parte tambin depende del alumno, est ms ligado al curso que el alumno est realizando.
Por esta ltima razn se dice que la tabla no est en 3NF. La solucin sera la siguiente: Tabla A Cdigo 1 2 3 Nombre Marcos Lucas Marta Curso Informtica Ingls Contabilidad Curso Informtica Ingls Contabilidad Tabla B Aula Aula A Aula B Aula C
Una vez conseguida la segunda forma normal, se puede estudiar la cuarta forma normal.
Cuarta forma normal (4NF) Una tabla est en cuarta forma normal si y slo si para cualquier combinacin clave - campo no existen valores duplicados. Vemoslo con un ejemplo: Geometra Figura Cuadrado Cuadrado Cuadrado Crculo Crculo Crculo Color Rojo Azul Azul Blanco Azul Azul Tamao Grande Grande Mediano Mediano Pequeo Mediano
Comparemos ahora la clave (Figura) con el atributo Tamao, podemos observar que Cuadrado Grande est repetido; igual pasa con Crculo Azul, entre otras. Estas repeticiones son las que se deben evitar para tener una tabla en 4NF. La solucin en este caso sera la siguiente: Tamao Figura Cuadrado Cuadrado Crculo Crculo Tamao Grande Pequeo Mediano Pequeo Figura Cuadrado Cuadrado Crculo Crculo Color Color Rojo Azul Blanco Azul
Ahora si tenemos nuestra base de datos en 4NF. Otras formas normales Existen otras dos formas normales, la llamada quinta forma normal (5FN) que no detallo por su dudoso valor prctico ya que conduce a una gran divisin de tablas y la forma normal dominio / clave (FNDLL) de la que no existe mtodo alguno para su implantacin