TEORÍA DE LA NORMALIZACIÒN Mtra. Maria Dolores Sabido Montejo CONCEPTO ■ Normalización de los datos se refiere a modelar una base de datos relacional y saber como se genera una estructura relacional de datos valida. ■ Los atributos no posean atributos compuestos. ■ A la dependencia funcional y funcional transitiva entre los atributos. ■ La eliminación de la redundancia de datos . ■ Las referencias entre relaciones, a través de sus atributos, estén representadas. ■ A la creación de una estructura lógica que sea fácil de comprender y de mantener. ■ Facilidad en la manipulación de datos , respetando las restricciones de integridad para la inserción, modificación y borrado de filas. ■ La teoría de la normalización, desarrollada por Codd en 1972 permite mejorar el diseño lógico de un sistema de información. Las reglas formales en las que se fundamenta la teoría de la normalización son conocidas con el nombre de Formas Normales, que son un conjunto de restricciones que deben de cumplir las relaciones. ■ Existen seis formas normales, de forma que cuando la base de datos cumple las reglas de la primera forma normal se considera que está en primera forma normal (1FN), cuando pasan la segunda, que está en segunda forma normal (2FN), etc. Además, una base de datos de la que se afirme que está en 2FN, está también en 1FN, pues las formas normales se aplican de forma sucesiva. ■ En 1974, y dado que la 3FN no contemplaba algunos casos particulares, Boyce ayudó a Codd a redefinir la 3FN y fue lo que se llamó la forma normal de BOYCE/CODD (FNBC). En 1977 y 1979. ■ Fagin introdujo la 4FN y 5FN respectivamente. ■ De las seis formas normales, generalmente solo se aplican sobre las bases de datos las tres primeras y/o la de Boyce/Codd, considerando que una base de datos que está en 3FN o en FNBC es una base de datos correctamente diseñada. ■ Las formas normales se basan en el concepto de dependencia, que comprende las restricciones definidas sobre los atributos de una relación. ■ Tenemos tres tipos de dependencias: ■ Relaciones funcionales y se usa 1FN, 2FN y 3FN o FNBC. ■ Dependencias multivaluadas (4FN) ■ Dependencias de Join o de combinación (5FN) EJERCICIO extensiòn OCEANO tiene PUERTO Nombre direccion Entidad Puerto (nombre, dirección, extensión) ■ Conversiòn a tabla nombre direccion extension Veracruz Malecón s/n, Col. Puerto, Veracruz, Veracruz. 10000 Puerto Márquez Puerto Márquez s/n, Acapulco, Guerrero 15000 Primera forma normal (1FN) ■ Una relación se encuentra en 1FN si, y solo si, todos los dominios simples subyacentes de los atributos contienen valores atómicos y monovalentes. ■ Ejemplo ■ Relación Puerto (nombre, dirección, extensión) ■ Atributo dirección es un valor compuesto, pues se descompone en: nombre de la calle, numero, colonia, ciudad, país) Nombre_ puerto Nombre_ calle numero Veracruz Boulevard s/n puerto colonia ciudad pais extension Puerto Veracruz Mexico 100 ■ Puerto (nombre_puerto, nombre_calle, numero, colonia, ciudad, país, extensión) Segunda forma Normal (2FN) Dependencia Funcional ■ Dada una relación R, el atributo Y de R depende funcionalmente del atributo X de R (R.XÆ R.Y) si y sólo si un valor de Y en R está asociado a cada valor X en R (en cualquier momento dado). ■ Una relación se encuentra en segunda formal si, y solo si, se encuentra en 1FN. ■ Todos los atributos no clave dependen por completo de la llave secundaria. ■ Ejemplo ■ Puerto (nombre_puerto, nombre_calle, numero, colonia, ciudad, país, extensión) 1FN ■ Llave candidata nombre_puerto ■ Nombre_puerto → nombre_calle ■ Veracruz Boulevard puerto ■ Nombre_puerto -→numero ■ Veracruz s/n ■ Nombre_puerto → colonia ■ Veracruz Puerto ■ Nombre_puerto → ciudad ■ Veracruz Veracruz ■ Nombre_puerto -→ país ■ Veracruz México ■ Nombre_puerto →extensión ■ Veracruz 100 Puerto (nombre_puerto, extensión) 2FN R1 (nombre_calle, numero, colonia,ciudad, país) 1FN ■ R1 (nombre_calle, numero, colonia, ciudad, país) 1FN ■ Nombre_calle →numero ■ Nombre_calle →colonia ■ Nombre_calle →país) ■ Domicilio (nombre_calle, numero) 2FN ■ R1( colonia, ciudad, país) 1FN ■ Colonia → ciudad ■ Colonia → país ■ Colonia (nombre_colonia) ■ País (nombre_país) ■ Ciudad (nombre_ciudad)