Normalizacion
Normalizacion
Normalizacion
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 Date, C. Date, C. Date, C. Codd,E. Gardarin NACIONALIDAD Norteamericana Norteamericana Norteamericana Norteamericana Francesa COD_LIBRO 98987 97777 98987 7890 12345 TITULO Database SQL Stan Guide for Relational Basi Dati EDITORIAL Addison Addison, W. Addison, W. Addison,W. Paraninfo AO 1990 1986 1988 1990 1986
Pgina 1 de 12
Normalizacin
Comp BD Comp BD BD OO BD OO
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:
Pgina 2 de 12
Normalizacin
disminuir la eficiencia, ya que la normalizacin aumenta el nro. 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.
Pgina 3 de 12
Normalizacin
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.
Pgina 4 de 12
Normalizacin
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 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.
Pgina 5 de 12
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.
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. Ejemplo: Dada la relacin original
Pgina 6 de 12
Normalizacin
LIBRO(COD_LIBRO, EDITORIAL, PAIS) COD_LIBRO 9030 9110 9040 9234 9567 y las relaciones resultantes: EDITORIAL RAMA RAMA PARANINFO ANAYA ADD.WES PAIS ESPAA ESPAA ESPAA ESPAA USA
LIBRO1(COD_LIBRO, PAIS) COD_LIBRO 9030 9040 9110 9234 9567 PAIS ESPAA ESPAA ESPAA ESPAA USA
EDITORIAL(EDITORIAL, PAIS) EDITORIAL RAMA RAMA PARANINFO ANAYA ADD.WES PAIS ESPAA ESPAA ESPAA ESPAA USA
LIBRO1 * EDITORIAL COD_LIBRO 9030 9030 9030 EDITORIAL RAMA PARANINFO ANAYA PAIS ESPAA ESPAA ESPAA
Pgina 7 de 12
Normalizacin
9040 9040 9040 9010 9110 9010 9234 9234 9234 9567
RAMA PARANINFO ANAYA RAMA PARANINFO ANAYA RAMA PARANINFO ANAYA ADD.WES
ESPAA ESPAA ESPAA ESPAA ESPAA ESPAA ESPAA ESPAA ESPAA USA
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. Tercera Forma Normal: Est en 2FN
Pgina 8 de 12
Normalizacin
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.
AUTORES AUTOR Date Ullman MATERIA Lenguaje SQL; Diseo BD Diseo BD; Bases Conc. INSTITUCION Relational Inst.; Codd& Date Cons. Stanford Univ.
AUTORES AUTOR Date Date MATERIA Lenguaje SQL Lenguaje SQL INSTITUCION Relational Inst Codd& Date Cons
Pgina 9 de 12
Normalizacin
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:
MATERIA Lenguaje SQL Lenguaje SQL Diseo BD Diseo BD Diseo BD Bases Conc
INSTITUCION Relational Inst. Codd& Date Cons. Codd& Date Cons. Relatinal Inst. Stanford Univ. Stanford Univ.
DEPTO Lenguajes Bases de Datos Analisis Bases de Datos Lenguajes Inteligencia Artificial
Aqu, la dependencia autor materia no se cumple, porque depende del contexto ( de depto).
Pgina 10 de 12
Normalizacin
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
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).
Pgina 11 de 12
Normalizacin
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.
Pgina 12 de 12