Você está na página 1de 8

Base de datos I

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO


ESCUELA DE INGENIERIA ELECTRONICA Y TECNOLOGIA EN COMPUTACION DATOS GENERALES
Nombre: Tony Flores P.

Tema: Teora de la Normalizacin Fecha de entrega: 19 de Mayo de 2003 Semestre: Cuarto Perodo acadmico: Marzo - Septiembre 2003 TEORIA DE LA NORMALIZACION INTRODUCCION Teora de la Normalizacin Cuando se disea una base de datos mediante el modelo relacional, al igual que ocurre en otros modelos de datos, tenemos distintas alternativas, es decir, podemos obtener diferentes esquemas relacionales y no todos son equivalentes, ya que algunos van a representar la realidad mejor que otros. Es necesario conocer qu propiedades debe tener un esquema relacional para representar adecuadamente una realidad y cules son los problemas que se pueden derivar de un diseo inadecuado. La teora de la Normalizacin es un mtodo objetivo y riguroso que se aplica en el diseo de bases de datos relacionales. Cuando estudiamos la estructura del modelo relacional, nos dimos cuenta que la base de datos puede representarse por medio de un conjunto de objetos (dominios y relaciones) y de un conjunto de reglas de integridad. El esquema relacional puede obtenerse de dos formas distintas: Directamente a partir de la observacin de nuestro universo del discurso, en donde especificamos conjuntos de atributos, relaciones y restricciones que corresponden a los observados en el mundo real. Realizando el proceso de diseo en dos fases, primero el diseo conceptual (E/R) obteniendo el esquema conceptual y posteriormente transformar ste a un esquema relacional, siguiendo algunas reglas generales, que fueron dadas anteriormente. Algunos problemas que se pueden presentar son: Incapacidad para almacenar ciertos hechos Redundancias y por tanto, posibilidad de incoherencias Ambigedades Prdida de informacin (aparicin de tuplas espreas) Prdida de dependencias funcionales, es decir, ciertas restricciones de integridad que dan lugar a interdependencias entre los datos. Aparicin en la BD de estados no vlidos, es decir, anomalas de insercin, borrado y modificacin. En conclusin el esquema relacional obtenido debe ser analizado para comprobar que no presenta los problemas anteriores. Analicemos la siguiente relacin: ESCRIBE AUTOR NACIONALIDAD COD_LIBRO TITULO EDITORIAL AO Date, C. Norteamericana 98987 Database Addison 1990 Date, C. Norteamericana 97777 SQL Stan Addison, W. 1986 Date, C. Norteamericana 98987 Guide for Addison, W. 1988 Codd,E. Norteamericana 7890 Relational Addison,W. 1990 Gardarin Francesa 12345 Basi Dati Paraninfo 1986

Base de datos I

Gardarin Francesa 67890 Comp BD Eyrolles 1984 Valduriez Francesa 67890 Comp BD Eyrolles 1984 Kim,W. Norteamericana 11223 BD OO ACM 1989 Lochovsky Canadiense 11223 BD OO ACM 1989 Esta relacin almacena datos de autores y de libros. Algunos problemas son: Redundancia, ya que la nacionalidad del autor se repite por cada ocurrencia del mismo. Lo mismo sucede cuando un libro tiene mas de un autor, se repite la editorial y el ao de publicacin. Anomalas de modificacin, es fcil cambiar el nombre de una editorial en una tupla sin modificar el resto de las que corresponden al mismo libro, lo que da lugar a incoherencias. Anomalas de insercin, ya que si queremos ingresar informacin de algn autor, del que no hubiera ningn libro en la base datos, no sera posible, ya que cod_libro es parte de la clave primaria de la relacin (regla de integridad de la entidad). La insercin de un libro, que tiene dos autores obliga a insertar dos tuplas en la relacin. Anomalas de borrado, ya que si queremos eliminar un cierto libro, deberamos perder los datos de su autor y viceversa. En los casos anteriores, se deja en manos del usuario manejar la integridad de la base de datos. Lo anterior sucede pues no se cumple un hecho bsico de todo diseo: "hechos distintos, deben almacenarse en objetos distintos" Una forma de evitar este tipo de problemas consiste en seguir la metodologa propuesta en el curso, es decir, un riguroso diseo conceptual y un traspaso de ste al modelo relacional. Sin embargo, ante posibles dudas respecto a si un esquema relacional est correcto, aplicaremos a dicho esquema un mtodo formal de anlisis, que permita analizar errores y generar esquemas correctos. Esta es la teora de la normalizacin. En el ejemplo anterior, el conjunto de las siguientes relaciones no presenta estos problemas: LIBRO( cod_libro, titulo, editorial, ao ) AUTOR( nombre, nacionalidad ) ESCRIBE( cod_libro, nombre ) La normalizacin introduce una tcnica formal para disear bases de datos relacionales, y permite mecanizar parte del proceso al disponer de algoritmos de normalizacin. Una observacin importante, es que las anomalas antes descritas se producen en procesos de actualizacin y no en procesos de consulta. La normalizacin penaliza las consultas, al disminuir la eficiencia, ya que la normalizacin aumenta el nmero de relaciones presentes en la base de datos, por lo que una determinada consulta puede llevar consigo el acceso a varias tablas, lo que aumenta el costo de sta. OBJETIVOS Entender cual es el concepto de la Teora de la normalizacin en Base de Datos Determinar cuales son las normas o reglas que pertenecen a la Teora de la Normalizacin y que se utilizan para la resolucin de Base de Datos. Determinar el correcto uso de cada mtodo que existe en la teora de la normalizacin.

MARCO TEORICO TEORIA DE LA NORMALIZACION 1. Nocin intuitiva de las formas normales La normalizacin tiene como objetivo obtener esquemas relacionales que cumplan determinadas condiciones, a travs de las formas normales. Primera Forma Normal (1FN) fue introducida por Codd, en su primer trabajo. Es una restriccin inherente al modelo relacional por lo que su cumplimiento es obligatorio. Consiste en la prohibicin de que en una relacin existan grupos repetitivos, es decir, un atributo no puede tomar ms de un valor del dominio subyacente.

Base de datos I

Segunda Forma Normal (2FN), fue introducida por Codd. Una relacin est en 2FN, si adems de estar en 1FN, todos los atributos que no forman parte de ninguna clave candidata suministran informacin acerca de la clave completa. Para la relacin PRESTAMO(num_socio, nombre_socio, cod_libro, fec_prest, editorial, pas ) las claves candidatas son: (num_socio, cod_libro) y (nombre_socio, cod_libro) Se puede observar que ciertos atributos que no forman parte de las claves candidatas, tal como editorial, constituye informacin acerca del libro, pero no acerca de la clave completa. Luego, la relacin prstamo no se encuentra en 2FN. La solucin es descomponer esta relacin en las siguientes: PRESTAMO1( num_socio, nombre_socio, cod_libro, fec_prest ) LIBRO( cod_libro, editorial, pas ) En la relacin PRESTAMO1, el nico atributo que no forma parte de las claves candidatas es fec_prest, pero suministra informacin acerca de la clave completa. Por lo que est en 2FN. La relacin LIBRO, la clave es cod_libro, y los dos atributos: editorial y pas suministran informacin de la clave completa. Por lo tanto, est en 2FN. OBS: Una relacin que est formada por un nico atributo esta en 2 FN. Tercera Forma Normal (3FN), propuesta por Codd. Una relacin est en 3FN, si adems de estar en 2FN, los atributos que no forman parte de ninguna clave candidata facilitan informacin slo acerca de la(s) clave(s) y no acerca de otros atributos. En la relacin PRESTAMO1, el atributo fec_prest facilita informacin acerca de las claves, ya que no existen ms atributos. Por lo que est en 3FN. En la relacin LIBRO, el atributo pas entrega informacin acerca de la editorial que publica el libro, por lo que no est en 3FN. La solucin es descomponerla en: LIBRO1( cod_libro, editorial ) EDITORIAL( editorial, pas ), que estn en 3FN, ya que todo atributo no clave facilita informacin acerca de la clave. Forma Normal de Boycce y Codd (FNBC). La relacin PRESTAMO1, que est en 3FN, todava presenta anomalas, ya que num_socio y nombre_socio, se repiten innecesariamente por cada cod_libro. Una relacin est en FNBC si y solo si, el conocimiento de las claves candidatas permite averiguar todas las interrelaciones existentes entre los datos de la relacin, o lo que es igual, las claves candidatas son los nicos descriptores sobre los que se facilita informacin por cualquier otro atributo. En la relacin PRESTAMO1, num_socio es informacin acerca de nombre_socio y viceversa. Ninguno de estos atributos son clave (aunque formen parte de la clave). Para solucionarlo la descomponemos: SOCIO( num_socio, nombre_socio ) PRESTAMO2( num_socio, cod_libro, fec_prest ), que estn en FNBC. Hasta ahora nuestro esquema relacional est compuesto por las siguientes relaciones en FNBC: LIBRO1( cod_libro, editorial ) EDITORIAL( editorial, pas ) SOCIO( num_socio, nombre_socio ) PRESTAMO2( num_socio, cod_libro, fec_prest ) La teora de la normalizacin se basa en restricciones definidas sobre los atributos de una relacin. que son conocidas como dependencias. Existen varios tipos de dependencias: Funcionales, relacionadas con la 2FN y 3FN y FNBC Multivaluadas, relacionadas con la 4FN De proyeccin o combinacin, relacionadas con la 5FN. 2. Dependencias funcionales Sea el esquema de relacin R definido sobre el conjunto de atributos A y sean X e Y subconjuntos de A llamados descriptores. Se dice que Y depende funcionalmente de X o que X determina o implica a Y, que se representa por X -> Y, si solo si, cada valor de X tiene asociado en todo momento un nico valor de Y. Ej: cod_libro -> titulo, el cdigo del libro determina el titulo. El cod_libro es el implicante y titulo es el implicado. Siempre el implicado es un hecho (una informacin) acerca del implicante. OBS1: la afirmacin cod_libro determina titulo NO significa que a partir de cod_libro podamos conocer el titulo. Es decir, para un esquema R, si tenemos la dependencia funcional X -> Y, dado un valor de X no

Base de datos I

podemos en general conocer el valor de Y. Solo nos limitaremos a firmar que para dos tuplas de cualquier extensin de R que tengan el mismo valor de X, el valor de Y tambin ser igual en ambas. OBS2: Las dependencias son predicados o restricciones sobre cualquier extensin vlida del esquema de relacin, por lo que observar una determinada extensin (datos) no puede llevarnos a afirmar la existencia de una dependencia funcional. 2.1. Dependencia funcional completa Si el descriptor X es compuesto, es decir, X(X1, X2), se dice que Y tiene dependencia funcional completa de X, si depende funcionalmente de X, pero no depende de ningn subconjunto del mismo, esto es: X -> Y X1 -> | Y X2 > | Y. Se representa X Y. X Y si y solo si NO $ X X / X -> Y. Ejemplos: La relacin PUBLICA( articulo, revista, numero, pagina ), que representa la pagina inicial en la que comienza un articulo en una revista. Un mismo articulo puede aparecer publicado en distintas revistas y en cada una de ellas, en paginas distintas y una revista publica varios artculos, se tiene: articulo, revista, numero -> pagina articulo -> | pagina revista -> | pagina numero -> | pagina 2.2. Dependencia funcional trivial Una dependencia funcional X -> Y es trivial si Y es un subconjunto de X (Y X). Ejemplos: cod_libro -> cod_libro articulo, revista -> revista. 2.3. Dependencia funcional elemental Solo las dependencias elementales son tiles en la normalizacin. Una dependencia funcional X -> Y es elemental si Y es un atributo nico, no incluido en X y no existe X incluido en X tal que X -> Y, es decir, la dependencia funcional elemental es un dependencia funcional completa no trivial, en la que el implicado es un atributo nico. 2.4. Dependencia funcional transitiva Sea la relacin R( X,Y,Z ), en la que existen las siguientes dependencias funcionales: X -> Y, Y -> Z y Y -> | X, se dice que Z tiene dependencia transitiva respecto a X, a travs de Y. Ej: LIBRO_ED( codlibro, editorial, pas ) La dependencia entre codlibro y pas es transitiva, a travs de editorial. Intuitivamente se interpreta como que PAIS es una informacin del libro, pero indirectamente, ya que es una informacin de EDITORIAL y esta a su vez de LIBRO. 3. Teora formal de la Normalizacin Dado un conjunto de atributos A y un conjunto de dependencias entre ellos, D, que constituyen un esquema de relacin R(A,D) (esquema origen), se trata de transformar este esquema original en un conjunto de n esquemas de relacin Ri(Ai,Di), i=1,n (esquemas resultantes), que cumplan determinadas caractersticas. Estas son: Conservacin de la informacin Conservacin de las dependencias Normalizacin de las relaciones 3.1. Conservacin de la informacin Se debe cumplir: Conservacin de los atributos U Ai = A, i=1, n. Conservacin del contenido (las tuplas) Para toda extensin r de R, la combinacin (join) de las relaciones resultantes ha de producir la relacin origen, es decir, * ri = r, i=1,n. Si el proceso de normalizacin no se lleva a cabo correctamente , pueden aparecen nuevas tuplas que no estaban en la relacin origen. Estas se llaman tuplas espreas, que falsean el contenido de la base de datos.

Base de datos I
Ejemplo: Dada la relacin original LIBRO(COD_LIBRO, EDITORIAL, PAIS) COD_LIBRO EDITORIAL PAIS 9030 RAMA ESPAA 9110 RAMA ESPAA 9040 PARANINFO ESPAA 9234 ANAYA ESPAA 9567 ADD.WES USA y las relaciones resultantes: LIBRO1(COD_LIBRO, PAIS) COD_LIBRO 9030 9040 9110 9234 9567

PAIS ESPAA ESPAA ESPAA ESPAA USA PAIS ESPAA ESPAA ESPAA ESPAA USA

EDITORIAL(EDITORIAL, PAIS) EDITORIAL RAMA RAMA PARANINFO ANAYA ADD.WES

LIBRO1 * EDITORIAL COD_LIBRO EDITORIAL PAIS 9030 RAMA ESPAA 9030 PARANINFO ESPAA 9030 ANAYA ESPAA 9040 RAMA ESPAA 9040 PARANINFO ESPAA 9040 ANAYA ESPAA 9010 RAMA ESPAA 9110 PARANINFO ESPAA 9010 ANAYA ESPAA 9234 RAMA ESPAA 9234 PARANINFO ESPAA 9234 ANAYA ESPAA 9567 ADD.WES USA En negrita, tuplas espreas. 3.3. Definicin formal de la tres primeras formas normales Primera Forma Normal: equivalente a la definicin dada antes Segunda Forma Normal: Est en 1FN Cada atributo no principal tiene dependencia funcional completa respecto de cada una de las claves. ejemplo: La relacin PUBLICA2( articulo, revista, numero, pagina, editorial ) que refleja en qu numero de qu revista se publica un artculo, en qu pagina comienza y cul es la editorial. Tenemos las siguientes dependencias: articulo, revista, numero -> pagina revista -> editorial clave:(articulo, revista, numero) Esta relacin no esta en 2FN, ya que editorial depende de la revista y tiene redundancia, pues se repite la editorial para cada articulo que se publica en una revista.

Base de datos I
Tercera Forma Normal: Est en 2FN Ningn atributo no principal depende transitivamente de ninguna clave de la relacin Ejercicio: R( estudiante, nro_matricula,curso,centro, profesor, texto ), con las restricciones: Un estudiante puede estar matriculado en varios cursos Un estudiante tiene un numero de matrcula distinto para cada curso en el que est matriculado Un curso se imparte en un solo centro El nmero de matrcula identifica al centro en el que se imparte el curso y al curso mismo Un curso es impartido por un solo profesor, pero un profesor puede impartir varios cursos Un curso se apoya en distintos textos y un mismo texto puede servir de soporte a varios cursos. Reducir el esquema anterior a un conjunto equivalente de relaciones en FNBC Las dependencias funcionales se relacionan con el modelado relacional de interrelaciones 1:N y 1:1.

4. Dependencias Multivaluadas y 4FN Las dependencias multivaluadas son una generalizacin de las dependencias funcionales. En stas un conjunto de valores del implicado, son determinados por un implicante. Esta situacin aparece cuando existen grupos repetitivos. Ej: la siguiente tabla AUTORES AUTOR MATERIA INSTITUCION Date Lenguaje SQL; Diseo BD Relational Inst.; Codd& Date Cons. Ullman Diseo BD; Bases Conc. Stanford Univ. La tabla no cumple la 1FN. La normalizacin de esta tabla produce la siguiente: AUTORES AUTOR MATERIA INSTITUCION Date Lenguaje SQL Relational Inst Date Lenguaje SQL Codd& Date Cons Date Diseo BD Codd& Date Cons Date Diseo BD Relatinal Inst. Ullman Diseo BD Stanford Univ. Ullman Bases Conc. Stanford Univ Esta tabla normalizada presenta gran cantidad de redundancia. La clave es el conjunto de los 2 atributos. Por lo que est en FNBC. En ella tenemos que un autor multidetermina a materia y un autor multidetermina a institucin. Las dependencias multivaluadas se producen cuando existen interrelaciones N:M independientes entre si. Entre autor y materia hay una interrelacin N:M y tambin entre autor e institucin y materia e institucin son independientes. Definicin Dependencia Multivaluada. Fagin (1977). La dependencia multivaluada se denota X Y, y se lee X multidetermina a Y, y significa que X implica un conjunto de valores de Y con independencia de los dems atributos de la relacin. Las dependencias multivaluadas dependen del contexto, es decir influye el resto de los atributos de la relacin. Si agregamos un atributo a AUTORES, departamento, que nos indica el departamento de una institucin en el que se trabaja en una cierta materia, obteniendo: AUTOR Date Date Date Date MATERIA Lenguaje SQL Lenguaje SQL Diseo BD Diseo BD INSTITUCION Relational Inst. Codd& Date Cons. Codd& Date Cons. Relatinal Inst. DEPTO Lenguajes Bases de Datos Analisis Bases de Datos

Base de datos I
Ullman Ullman Diseo BD Bases Conc Stanford Univ. Stanford Univ. Lenguajes Inteligencia Artificial

Aqu, la dependencia autor->-> materia no se cumple, porque depende del contexto (de depto). Cuarta Forma Normal (4 FN) Una relacin se encuentra en 4FN, si y solo si, las nicas dependencias multivaluadas no triviales son aquellas en las cuales una clave multidetermina un atributo, es decir, toda dependencia multivaluada viene determinada por una clave candidata. En la tabla AUTORES(autor, materia, institucin), existen las dependencias multivaluadas: autor ->-> materia y autor ->-> institucin. La relacin no se encuentra en 4FN, ya que estas dependencias estn implicadas por autor, que no es clave candidata. La clave candidata es el conjunto de los tres atributos. Para normalizarla se descompone en 2 proyecciones: AUTORES1(autor, materia) AUTORES2(autor,institucion), que si estn en 4FN. Revisar la 5FN en libros. 6. Organizacin de Relaciones - estructuracin (consideraciones lgicas) Normalizacin Particionamiento horizontal - reestructuracin (consideraciones fsicas) Desnormalizacin Particionamiento (horizontal, vertical) Particionamiento Horizontal de relaciones Esta estructuracin permite eliminar valores nulos, debido en general a no haberse detectado los subtipos de una entidad o haberlas reunido en una sola entidad. DOCUMENTO(cod-doc, titulo, idioma, editorial) Que almacena datos de libros y artculos. El atributo editorial es inaplicable a articulo, podramos descomponer la relacin en: LIBRO(cod-doc, titulo, idioma, editorial) ARTICULO(cod-doc, titulo, idioma) Relacin origen pasa por seleccin a una que tiene todos los atributos que la original, pero contiene valores conocidos junto con otra a travs de seleccin que contiene solo los atributos no nulos, eliminando el atributo de la relacin origen que tenia nulos (proyeccin). La construccin de la relacin original se realiza por medio de la unin relacional, despus de aadir los atributos para que sean compatibles en la unin. Desnormalizacion y Particionamiento Son mtodos o formas de organizar las relaciones, teniendo en cuenta razones de tipo fsico: Tasa de actualizaciones versus consultas Las veces que se accede conjuntamente a los atributos El tamao en bytes de los atributos Tipos de proceso (en linea-batch) Prioridad de los procesos Tamao de las tablas. CONCLUSIONES Y RECOMENDACIONES Conclusiones: Que la Teora de la Normalizacin es un mtodo objetivo y riguroso que se aplica en el diseo de bases de datos relacionales. Existen 6 normas principales que pertenecen a la Teora de la Normalizacin y que se utilizan en el diseo de las bases de datos.

Recomendaciones:

Base de datos I
-

Se recomienda usar estos tipos de normas y reglas ya que son muy necesarias en la implementacin de las bases de datos.

INTERNET Apunte de Bases de Datos. Captulo 5.

Você também pode gostar