Introduccin En este documento se menciona las formas de normalizacin esto consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relacin al modelo relacional. Esto es en realidad muy til para evitar la redundancia de los datos, disminuir aparte algunos problemas de actualizacin de los datos en las tablas y proteger la integridad de los datos. En el modelo relacional es frecuente llamar tabla a una relacin, aunque para que una tabla sea considerada como una relacin tiene que cumplir con algunas caractersticas y restricciones, por ejemplo cada tabla debe de tener su nombre nico, adems no puede haber dos filas iguales y por consecuente todos los datos en una columna deben ser del mismo tipo. con este documento se espera dejar en claro los aspectos que conlleva la normalizacin en los fundamentos de la base de datos.
Como primer punto contestaremos una pregunte muy frecuente Qu es la normalizacin? Los principales objetivos de la normalizacin son: * La eliminacin de datos redundantes, los cuales ocupan ms espacio en disco y crean problemas de mantenimiento; por ejemplo, cambio de la direccin del cliente es mucho ms fcil de implementar si los datos se almacenan solo en la tabla clientes y en ninguna otra base de datos. * Evitar problemas de actualizacin de los datos en las tablas. * Garantizar que las dependencias que tienen los datos entre ellos, sean lgicas y presenten algn sentido. Los puntos mencionados anteriormente reducen la cantidad de espacio en la base de datos y aseguran que estos son almacenados de manera lgica. La normalizacin tambin se puede entender como el proceso mediante en el cual se transforman datos complejos a un conjunto de estructuras de datos ms pequeas, que adems de ser ms simples y ms estables, son ms faciales de mantener. Existen algunas reglas para la normalizacin de base de datos. Cada regla se denomina forma normal. Si dentro de la base de datos se observa la primera regla se dice que est en primera formal normal. Si las tres primeras reglas se observan, la base de datos se considera en tercera forma. Aunque es posible tener otros niveles de normalizacin, la tercera forma normal es considerada la de ms alto nivel necesario para la mayora de aplicaciones. Aparte de las tres reglas mencionadas anteriormente se aadirn otras dos haciendo ms extensa la comprensin de la normalizacin.
Primera Forma Normal La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas. Poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de columna mltiples. Muy a menudo, los diseadores de bases de datos inexpertos harn algo similar a la tabla no normalizada. Una y otra vez, crearn columnas que representen los mismos datos. La normalizacin ayuda a clarificar la base de datos y a organizarla en partes ms pequeas y ms fciles de entender. En lugar de tener que entender una tabla gigantesca y monoltica que tiene muchos diferentes aspectos, slo tenemos que entender los objetos pequeos y ms tangibles, as como las relaciones que guardan con otros objetos tambin pequeos. profesor Dedicacin Materias Cursos Depart. Comisiones Coordina Jos Garca Exclusiva Mtodo Nm. Estadstica Matemticas 2 1 1 Matemticas Sem.de Invest. Reestruc. Curr. Entre. Docente si no si
Debe haberse notado que en los campos MATERIAS y COMISIONES existen diversos valores para el mismo individuo, adems de una serie de datos relacionados tales como CURSOS POR MATERIAS y COORDINACION DE COMISIONES. Suponiendo que un Profesor no dicta ms de tres materias por semestre, podramos construir el registro de la siguiente forma. Relacin Profesor Nombre Dedic. Mat 1 Cur. 1 Mat2 Cur.2 Mat3 Cur.3 Depto. J. Garcia Exclus M.NUMER 2 Estad 1 Mat II 1 Matem
Relacin Participa-en-comisin profesor comisin coordina Jose Garcia seminario de investigacin si Jose Garcia Reestructuracin curricular no Jose Garcia entrenamiento docente si
El procedimiento empleado ha sido el siguiente: El campo MATERIA para el cual se esperaban como mximo tres valores diferentes (con tres valores asociados: nmero de cursos), se descompuso en tres nuevos campos, a saber: Materia 1, Materia 2 y Materia 3, denominados respectivamente como MAT1, MAT2 y MAT3. Los valores asociados (nmero de cursos por materia) se colocaron a su vez como tres nuevos campos: CUR1, CUR2 y CUR3, que correspondern respectivamente a las materias numeradas del 1 al 3. Debe tenerse cuidado al manejar de esta forma los registros el no exceder el nmero de campos permitidos por el sistema administrador de base de datos que Ud. utiliza. Con respecto a las COMISIONES y a COORDINACION, se decidi emplear otra tcnica que consiste en separar el campo y construir otra tabla. Tal decisin se tom en vista de la independencia de la relacin MATERIA-COMISIONES. Esta nueva tabla (la hemos llamado PARTICIPA-EN-COMISION para mayor claridad), contiene los campos PROFESOR, COMISION y COORDINA (este ltimo de tipo lgico).
La repeticin del Nombre del Profesor en el campo PROFESOR nos da el enlace a partir de las tuplas en la nueva relacin PARTICIPA-EN-COMISION.
Segunda Forma Normal La regla de la Segunda Forma Normal establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. Una dependencia parcial es un trmino que describe a aquellos datos que no dependen de la llave primaria de la tabla para identificarlos. Una vez alcanzado el nivel de la Segunda Forma Normal, se controlan la mayora de los problemas de lgica. Podemos insertar un registro sin un exceso de datos en la mayora de las tablas. Ejemplo 1: Articulo Deposito Cantidad Direccin
Ejemplo 2: Materia Profesor Secciones Departamento
Estudiemos el primer caso: La clave es compuesta, consiste de los campos ARTCULO y DEPSITO. CANTIDAD es un campo relacionado con ARTICULO-DEPOSITO (es decir, con la clave). DIRECCION es un dato acerca de DEPOSITO, que es un subconjunto de la clave. Inconvenientes de este diseo: La Direccin del Depsito ser repetida en cada registro referido a cada artculo correspondiente a un mismo depsito.
Si la Direccin del Depsito cambia, todos los registros referidos a un artculo de un mismo depsito deben ser actualizados. Debido a la redundancia, los datos pueden tornarse inconsistentes con diferentes registros exhibiendo diferentes direcciones para el mismo depsito. Si en algn momento no existen artculos guardados en un depsito, pudiera no existir un registro en el cual mantener la direccin del depsito.
Tercera Forma Normal Una tabla est normalizada en esta forma si todas las columnas que no son llave son funcionalmente dependientes por completo de la llave primaria y no hay dependencias transitivas. Comentamos anteriormente que una dependencia transitiva es aquella en la cual existen columnas que no son llave que dependen de otras columnas que tampoco son llave. Cuando las tablas estn en la Tercera Forma Normal se previenen errores de lgica cuando se insertan o borran registros. Cada columna en una tabla est identificada de manera nica por la llave primaria, y no deben haber datos repetidos. Esto provee un esquema limpio y elegante, que es fcil de trabajar y expandir. Un dato sin normalizar no cumple con ninguna regla de normalizacin. Para explicar con un ejemplo en que consiste cada una de las reglas, vamos a considerar los datos de la siguiente tabla.
ID_orden Fecha ID_cliente Nom_cliente Estado Num_ITM Desc_item Cant Precio 2301 2301 2301 2302 2303 2303 2/23/03 2/23/03 2/23/03 2/25/03 2/27/03 2/27/03 MARTI MARTI MARTI HERMAN WE-SPO WE-SPO CA CA CA WI MI MI 3786 4011 9132 5794 4011 3141 RED RAQUETA PAG-3 PAG-6 RAQUETA FUNDA 3 6 8 4 2 2 4 6 3 5 6 5 35 65 7.75 5.0 65 10 Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido para NUM_ITEM,DESC_ITEM, CANT y PRECIO. La 1FN prohibe los grupos repetidos, por lo tanto tenemos que convertir a la primera forma normal. Los pasos a seguir son: Tenemos que eliminar los grupos repetidos. Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido. Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que eliminar cualquier columna no llave que no dependa de la llave primaria de la tabla. Los pasos a seguir son: Determinar cules columnas que no son llave no dependen de la llave 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 PK de la cual dependen. La tabla RDENES est en 2FN. Cualquier valor nico de ID_ORDEN determina un slo valor para Cada columna. Por lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN. Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que las columnas PRECIO y DESC_ITEM son dependientes de NUM_ITEM, pero no son dependientes de ID_ORDEN. Lo que haremos a continuacin es eliminar estas columnas de la tabla ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas columnas y la llave primaria de la que dependen.
Cuarta forma normal
Bajo la Cuarta Forma Normal (4FN) un registro tipo no deber contener dos o ms datos multivariados independientes acerca de una entidad. Adems, el registro debe satisfacer la Tercera Forma Normal. Considere EMPLEADOS, HABILIDADES e IDIOMAS, donde un empleado puede tener diversas habilidades y conocer varios idiomas. Tenemos aqu dos relaciones muchos a muchos, una entre EMPLEADOS y HABILIDADES, y una entre EMPLEADOS e IDIOMAS. Bajo la Cuarta Forma Normal estas dos relaciones no podrn ser representadas en un registro simple tal como:
Empleado Habilidad Idioma
En cambio, ellas podrn ser representadas en dos registros: Empleado Habilidad clave
Empleado Idioma clave Note que otros campos que no incluyan datos multivaluados son permitidos en el registro, como en el caso del campo CANTIDAD en el ejemplo anterior ARTICULO-DEPOSITO. El principal problema con la violacin de la Cuarta Forma Normal es que existe incertidumbre en cuanto a las polticas de mantenimiento. Es posible tener diversas polticas para mantener los datos independientes multivaluados en cada registro:
Un formato disjunto en el cual un registro contiene o una habilidad o un idioma pero no ambos. Empleado Habilidad Idioma Gonzlez Cocina Gonzlez Maneja Gonzlez Francs Gonzlez Alemn Gonzlez Griego
En este caso, no existe diferencia en cuanto a mantener dos tipos de registros separados. Por otra parte, semejante formato conduce a ambigedades con respecto al significado del campo vaco. Una habilidad vaca podra significar que el empleado no tiene habilidades, que el campo no es aplicable a este empleado, que el dato es desconocido, o, como en este caso, que el dato puede estar ubicado en otro registro.
*Una mezcla al azar, con tres variaciones Mnimo nmero de registros con repeticiones Empleado Habilidad Idioma Gonzlez Cocina Francs Gonzlez Maneja Alemn Gonzlez Maneja Griego
Sin restricciones Empleado Habilidad Idioma Gonzlez Cocina Francs Gonzlez Maneja Gonzlez Alemn Gonzlez Maneja Griego El producto cartesiano, donde para cada empleado habr un registro para todos los posibles pares de una de sus habilidades con uno de sus idiomas Empleado Habilidad Idioma Gonzlez Cocina Francs Gonzlez Maneja Alemn Gonzlez Maneja Griego Gonzlez Cocina Francs Gonzlez Maneja Alemn Gonzlez Maneja Griego
Inconvenientes de este diseo: Presenta los mismos problemas mencionados para la Segunda y Tercera Formas Normales. Produce diferentes violaciones dependiendo de la poltica de mantenimiento seleccionada. Se presentarn repeticiones, por lo tanto la actualizacin deber ejecutarse sobre registros mltiples y stos pueden tornarse inconsistentes. La insercin de una nueva habilidad podra involucrar consideraciones para un registro con una habilidad vaca, insertando un nuevo registro con un posible idioma vaco, o insertando mltiples registros apareando la habilidad con alguno o todos los idiomas. Al borrar una habilidad, sacar la habilidad localizada en uno o ms registros, o borrar uno o ms registros conectados con un contenido que en la ltima alusin de algn idioma fue borrado tambin.
Quinta forma normal La Quinta Forma Normal (5FN) trata con casos donde la informacin puede ser reconstruida de muchas piezas de informacin las cuales pueden ser mantenidas con poca redundancia. La Segunda, Tercera y Cuarta Formas Normales tambin sirven a este propsito pero la Quinta Forma Normal generaliza los casos no cubiertos por ellas. No intentaremos una exposicin amplia de la Quinta Forma Normal pero ilustraremos el concepto central con un ejemplo, a saber:
Entidades: AGENTES, COMPANIAS y PRODUCTOS. Si los AGENTES representan COMPAIAS, las COMPAAS fabrican PRODUCTOS, y los AGENTES venden PRODUCTOS, entonces nosotros querramos tener guardado un registro de cules agentes venden cules productos para cul compaa. Esta informacin puede ser guardada en un registro con tres campos: Agente Compaa Producto Parra Ford Automvil Parra General Motors Camin
Esta forma es necesaria en el caso general. Ahora bien, aunque el agente PARRA vende autos hechos por FORD y camiones hechos por GENERAL MOTORS; l no vende camiones FORD ni autos GM. Esto es, necesitamos la combinacin de los tres campos para saber cules combinaciones son vlidas y cules no. Ahora bien, supongamos la siguiente regla: si un agente vende cierto producto y l representa la compaa que lo fabrica, entonces l vende un producto para esa compaa.
Agente Compaa Producto Parra Ford Automvil Parra General Motors Camin Parra General Motors Automvil Parra General Motors Camin Prez Ford Automvil En este caso, resulta que podemos reconstruir todos los datos reales de una forma normalizada consistente de tres tipos de registros separados, cada uno conteniendo dos campos.
Estos tres registros estn en la Quinta Forma Normal, puesto que el correspondiente registro de tres campos presentado previamente no lo est. Para hablar de un modo general, podemos decir que un registro est en la Quinta Forma Normal cuando la informacin que contiene no puede ser reconstruida por varios registros ms pequeos, por ejemplo, de registros que tienen cada uno menos campos que el original. Se excluye el caso en el cual todos los registros ms pequeos tienen la misma clave. Si un registro puede ser descompuesto solamente en registros pequeos, teniendo todo el mismo clave, entonces el registro es considerado como en la Quinta Forma Normal, sin descomposicin. Un registro en la Quinta Forma Normal est tambin en la Cuarta, Tercera, Segunda y Primera Formas normales.
Agente Compaa Parra Ford Parra GM Prez Ford Agente Producto Parra Automvil Parra Camin Prez Automvil Compaa Producto Ford Automvil Ford Camin GM Automvil GM Camin La Quinta Forma Normal no difiere de la Cuarta Forma Normal, excepto en que all existe una simetra compulsiva, tal como la regla acerca de los Agentes, Compaas y Productos. En ausencia de tal compulsin, un registro en la Cuarta Forma Normal est siempre en la Quinta Forma Normal. Una ventaja de la Quinta Forma Normal es que ciertas redundancias pueden ser eliminadas. En la forma normalizada, el hecho de que PARRA venda AUTOS es registrado solamente una vez; en la forma no normalizada esto puede ser repetido muchas veces. Debemos advertir entonces que aun cuando las formas normalizadas involucran un nmero mayor de registros tipo comparado con el original, las ocurrencias de algunos hechos se reducen considerablemente. Lo importante es comprender que cuanto ms hechos son registrados, el tamao del archivo normalizado crece en forma aditiva, mientras que el tamao del archivo no normalizado crece en forma multiplicativa. Por ejemplo, si agregamos un nuevo AGENTE que vende 'X' PRODUCTOS para 'Y' COMPANIAS, donde cada una de estas compaas fabrica cada uno de estos productos, tendremos X + Y nuevos registros para la forma normalizado, pero tendremos X . Y nuevos registros para la forma no normalizada Es tambin importante hacer notar que todos los tres registros tipo son requeridos en la forma normalizada a fin de reconstruir la misma informacin. De los registros presentados anteriormente sabemos que PEREZ representa a la FORD y que FORE fabrica CAMIONES y AUTOS, Pero no podemos determinar si PEREZ vende CAMIONES o AUTOS FORD hasta que veamos el otro registro tipo.
Conclusin Como conclusin podemos decir que la normalizacin es una tcnica que se utiliza para crear relaciones lgicas apropiadas entre tablas de una base de datos. Es de gran ayuda ya que puede prevenir errores lgicos en la manipulacin de datos. La normalizacin facilita tambin agregar nuevas columnas sin romper el esquema actual ni las relaciones. Como se mencion anteriormente existen varios niveles de normalizacin: primera forma normal, segunda forma normal, tercera forma normal, cuarta y quinta forma normal, cada forma o nivel nos acerca ms a crear una nueva base de datos verdaderamente relacional.