Normalización Tema 16
Contenido Introducción Normalización de Relaciones Bibliogra;a 2
Introducción Al diseñar una BD relacional, podemos obtener diferentes esquemas La teoría de la normalización consigue una formalización en el diseño lógico Qué propiedades debe tener un esquema para representar adecuadamente la realidad y qué problemas se pueden derivar de un diseño inadecuado? La teoría de la normalización permite afrontar el problema de diseño de bases de datos relacionales de una manera rigurosa y objetiva
Introducción Formas de abordar el proceso de modelado: a) Realizando el proceso de diseño en dos fases b) Obteniendo el esquema relacional directamente
Introducción: Proceso de diseño en dos fases a) Proceso de diseño en dos fases: ESTUDIANTE (Cod_Estud, nombre, apellido, dirección) SOLICITA (Cód_Beca, Cod_Estud, Fecha) BECA (Cod_Beca, Nombre, Requisito) Es Correcto?
Introducción: Proceso de diseño en dos fases Cod_Beca Nombre Requisito A22321 METRICA Ing. Técnico B56784 ERASMUS Ing. Técnico G65434 HIMMPA Ing. Superior Cod_Estud Nombre_E Apellido Dirección 012323 Roberto Hens Antonio López 43 763476 Luis García Av. Ciudades 29 987765 Gregorio Celada Pl. Paises 67 232457 María García Rio Miño 2 Cod_Beca Cod_Estud Fecha A22321 012323 10/10/08 B56784 763476 12/11/08 A22231 763476 14/10/08 G65434 763476 15/09/08 G65434 012323 17/09/08 G65434 987765 21/09/08 B56784 012323 11/11/08 B56784 987765 10/10/08 A22321 012323 12/11/08 A22321 232457 17/09/08
Introducción: Esquema relacional directamente b) Obteniendo el esquema relacional directamente: ESTUDIANTE_SOLICITA_BECA Cod_Estud nombre apellidos dirección Cod_Bec nom_beca requisito Fecha 012323 Roberto Hens Antonio López 43 A22321 METRICA Ing. Téc 10/10/08 763476 Luis García Av. Ciudades 29 B56784 ERASMUS Ing. Téc 12/11/08 763476 Luis García Av. Ciudades 29 A22231 METRICA Ing. Téc 14/10/08 763476 Luis García Av. Ciudades 29 G65434 HIMMPA Ingenie. 15/09/08 012323 Roberto Hens Antonio López 43 G65434 HIMMPA Ingenie. 17/09/08 987765 Gregorio Celada Pl. Países 67 G65434 HIMMPA Ingenie. 21/09/08 012323 Roberto Hens Antonio López 43 B56784 ERASMUS Ing. Téc 11/11/08 987765 Gregorio Celada Pl. Países 67 B56784 ERASMUS Ing. Téc 10/10/08 012323 Roberto Hens Antonio López 43 A22321 METRICA Ing. Téc 12/11/08 232457 María García Rio Miño 2 A22321 METRICA Ing. Téc 17/09/08 Es correcto? Recoge la misma información? Es mejor o peor que el anterior?
Introducción: Posibles Problemas Incapacidad para almacenar ciertos hechos. Redundancias y, por tanto, posibilidad de inconsistencias. Ambigüedades. Pérdida de información (aparición de tuplas espurias). Pérdida de dependencias funcionales Existencia de valores nulos (inaplicables) Aparición de estados que no son válidos en el mundo real Estos problemas podemos tenerlos en cualquiera de los dos casos
Introducción: Pérdida de Información Cod_Asig Nom_Alum Aula IS Juan 330 DBD Juan 318 DBD Leire 121 IS Leire 330 Cod_Asig Nom_Alum Aula IS Juan 330 DBD Juan 318 DBD Juan 121 DBD Leire 318 DBD Leire 121 IS Leire 330 Cod_Asig Nom_Alum Cod_Asig Aula DBD 318 DBD 121 IS 330 IS DBD DBD IS Juan Juan Leire Leire Tuplas espurias
Contenido Introducción Normalización de Relaciones Dependencias y cálculo del cierre de un descriptor. Cálculo del recubrimiento minimal. Cálculo de las claves candidatas Formas Normales Métodos de descomposición y síntesis Bibliogra;a
Teoría de la Normalización Dado un conjunto A de atributos y el conjunto D de dependencias existentes entre ellos que consatuyen un esquema de relación R( D), se trata de transformar, por medio de sucesivas proyecciones, este esquema de parada en un conjunto de n esquemas de relación { R i ( A i, D i,)} n i=1 tales que cumplan unas determinadas condiciones: El conjunto de esquemas R i deberan ser equivalentes a R y mejores que el esquema de parada
Normalización de Relaciones Pasos para normalizar relaciones: 1. Calculo de las dependencias funcionales, mulavaluadas, jerárquicas y en combinación que existen entre los atributos de la relación. 2. Calculo del recubrimiento minimal. 3. Calculo de las claves candidatas de la relación, de los atributos principales y de los no principales. 4. Cálculo de la de la forma normal en que se encuentra la relación 5. Aplicar los métodos de descomposición y síntesis para obtener la forma normal deseada.
Contenido Introducción Normalización de Relaciones Dependencias y cálculo del cierre de un descriptor. Cálculo del recubrimiento minimal. Cálculo de las claves candidatas Formas Normales Métodos de descomposición y síntesis Bibliogra;a
Dependencias entre los datos Las dependencias son propiedades inherentes al contenido semánqco de los datos; forman parte de las restricciones de usuario del modelo relacional y se han de cumplir para cualquier extensión de un esquema de relación. Sin pérdida de generalidad vamos a considera que el esquema relacional está compuesto por un único esquema de relación: R( DEP) A: conjunto de dependencias existentes entre los atributos DEP: cjto. de dependencias existentes entre los atributos Tipos: funcionales, mulqvaluadas, jerárquicas
Dependencias Funcionales Si para cada valor de X, solamente existe un único valor de Y x y Ejemplo: implicado dni _ profesor nombre _ profesor Si x y e y x entonces X e Y son equivalentes x y
1. DF Trivial: x y Ejemplo: Dependencias Funcionales: Tipos y además Y es un subconjunto de X nombre _ profesor nombre _ profesor 2. DF Elemental: Si Y es un atributo único, se trata de una dependencia plena (no parcial) y no trivial. 3. DF TransiAva: R({ x, x y y y z x y, z}, DEP) x z Además sí, R({ nombre _ profesor, codigo _ postal, ciudad}, DEP) nombre _ profesor codigo _ postal codigo _ postal ciudad codigo _ postal nombre _ profesor z y DF Transitiva Estricta
Dependencia MulQvaluada X muladetermina a Y, si para cada valor de X existe un conjunto bien definidos de valores posible en Y, con independencia del resto de los atributos de la relación. Ejemplo: x y Nombre Juan Juan Ana Titulación Mag. Música Ing. Informática Ing. Caminos Tipos: Dependencias mulavaluadas jerárquicas
Dependencias Jerárquicas X muladetermina jerárquicamente a Y y Z si: X muladetermina a Y y X muladetermina a Z Ejemplo: Nombre Titulación Proyecto Pedro Mag. Música A Pedro Ing. Informática B Maria Ing. Caminos A
Cierre de un Descriptor Cierre de un conjunto de dependencias: DF + : conjunto de todas las dependencias funcionales implicadas por DF. Primera aproximación: axiomas de Armstrong: Reflexividad: si Y X, entonces X Y Aumento: si X Y, entonces XZ YZ Transitividad: si X Y y Y Z, entonces X Z
Cierre de un Descriptor (II) Podemos calcular DF + aplicando los axiomas Calcular el cierre de un subconjunto tal que X sea implicante: cierre transi(vo de un descriptor X de R respecto al conjunto de dependencias DF, (X + DF ) Dado R( DF), se define X + DF como un subconjunto de los atributos de A tales que X X + DF DF+, siendo X + DF máximo en el senado de que la adición de cualquier atributo vulneraría la condición anterior Consecuencias: cálculo de SK (superclave) y K (clave) Algoritmo de Ullman
Ejemplo: Cierre TransiQvo de un Descriptor Sea R ({ B, C, D, E, F}, DF), donde DF={A B, B C D C, (E, C) D, A F, C F} Hallar el cierre del descriptor (E, C) E, C E, C E, C E, C, D E, C E, C, D, A E, C E, C, D, B E, C E, C, D, B, F Por tanto, (E, C) + = E, C, D, B, F
Equivalencia de conjuntos de DF Dado DF, X Y DF + sii Y X + DF DF 1 y DF 2 son equivalentes si DF + 1 = DF+ 2. Si para toda dependencia X Y DF 2 se cumple que Y X + DF1, entonces toda dependencia de DF 2 está en DF 1 y por tanto DF 1 es un recubrimiento de DF 2 Si para toda dependencia Z W DF 1 se cumple que W Z + DF2, entonces toda dependencia de DF 1 está en DF 2 y por tanto DF 2 es un recubrimiento de DF 1 está Si se cumplen ambas condiciones, DF 1 y DF 2 son mutuamente recubrimientos, luego son equivalentes
Contenido Introducción Normalización de Relaciones Dependencias y cálculo del cierre de un descriptor. Cálculo del recubrimiento minimal. Cálculo de las claves candidatas Formas Normales Métodos de descomposición y síntesis Bibliogra;a
Cálculo del Recubrimiento Minimal Un conjunto de dependencias es mínimo, y se denota se cumplen las siguientes condiciones:, cuando DEP m a) Todas son dependencias son elementales (plenas, no triviales y con un único atributo implicado) b) No existen atributos extraños. A es extraño en sí, ( X A) Y c) No existe en la relación ninguna dependencia redúndate. R({ B, C},{ A C, AB C}) X Y R({ B, C},{ A B, B C, A C}) Se pueden obtener varios de conjuntos de dependencias mínimos válidos
Contenido Introducción Normalización de Relaciones Dependencias y cálculo del cierre de un descriptor. Cálculo del recubrimiento minimal. Cálculo de las claves candidatas Formas Normales Métodos de descomposición y síntesis Bibliogra;a
Cálculo de Claves Candidatas Dado un esquema de relación R(DEP) se denomina superclave de la relación R a un conjunto no vacio de atributos perteneciente de tal que estos atributos determinan a todo el conjunto es decir, que el cierre transiavo de ese conjunto de atributos sea todo A El cierre transiavo de X se define como el conjunto de atributos determinados por X aplicando los axiomas de Armstrong, denotado. Ejemplo: R({ B, C, D}{ A B, D; B C}) A B C D + + + + = { B, C, D} = { B, C} = { C} = { D} X +
Cálculo de Claves Candidatas (II) Se denomina clave candidata (CC) de una relación a una superclave tal que cumple que ningún subconjunto de la misma determina a todo A Ejemplo: { A} { B, A} CC ya que determina a todos los atributos No es CC, aunque determina a todos los atributos, porque el subconjunto {A} determina a todos los atributos. Atributos Principales y No Principales AP: Cuando forma parte de laguna de las claves candidatas de la relación. ANP: Cuando no forma parte de ninguna de las claves candidatas
Contenido Introducción Normalización de Relaciones Dependencias y cálculo del cierre de un descriptor. Cálculo del recubrimiento minimal. Cálculo de las claves candidatas Formas Normales Métodos de descomposición y síntesis Bibliogra;a
Formas Normales Esquemas en 1FN Esquemas en 2FN Esquemas en 3FN Esquemas en FNBC Esquemas en 4FN Esquemas en 5FN
1FN. Primera Forma Normal Condiciones: Cada atributo solo toma un valor del dominio. No existen grupos repeados Ejemplo: Nombre Miguel Vanesa Titulaciones Informática Física E. Infantil Nombre Miguel Miguel Vanesa Titulaciones Informática Física E. Infantil La primera forma normal es una restricción inherente al modelo relacional, por lo que su cumplimiento es obligatorio para toda relación
2FN. Segunda Forma Normal Condiciones: Se encuentra en 1FN Cada atributo no principal (ANP) tiene dependencia funcional completa respecto de alguna de las claves. Ejemplo: NO ESTÁ EN 2FN R({ B, C, D},{ B C; { B}: CC A D}) ESTÁ EN 2FN R1({ B, C},{ B C}) AP :{ A}{ B} ANP :{ C}{ D} R2({ D},{ A D})
3FN. Tercera Forma Normal Condiciones: Se encuentra en 2FN No existe ningún atributo no principal (ANP) que dependa transiqvamente de alguna clave de R. Ejemplo: NO ESTÁ EN 3FN R({ B, C},{ A B; B { A}: CC C}) ESTÁ EN 3FN R1({ B},{ A B}) AP :{ A} ANP :{ B}{ C} R2({ B, C},{ B C})
FNBC. Forma Normal Boyce- Codd Condiciones: Se encuentra en 3FN Si y solo si todo determinante es clave candidata. Ejemplo: NO ESTÁ EN FNBC ESTÁ EN FNBC R({ B, C, D},{ A B; C D}) R1({ B},{ A B}) { A},{ B}: NoCC { C},{ B, C}: CC R2({ C, D},{ C D})
4FN. Cuarta Forma Normal Condiciones: Si y solo si las únicas dependencias mulqvaluadas no triviales son aquellas en las que una clave mulqdetermina un atributo. Ejemplo: NO ESTÁ EN 4FN R({ B, C},{ A B; A C}) ESTÁ EN 4FN R1({ B},{ A B}) C no participa B no participa R2({ C},{ A C})
5FN. Quinta Forma Normal Condiciones: Se encuentra en 4FN. Toda dependencia de combinación está implicada por una clave candidata. Definición: Una relación se encuentra en 5FN si y solo sí toda dependencia funcional, mulavaluada o de combinación no trivial es consecuencia de las claves candidatas
Contenido Introducción Normalización de Relaciones Dependencias y cálculo del cierre de un descriptor. Cálculo del recubrimiento minimal. Cálculo de las claves candidatas Formas Normales Métodos de descomposición y síntesis Bibliogra;a
Métodos de Descomposición y Síntesis ObjeAvo: Transformar, por medio de proyecciones, un esquema de relación en un conjunto de n esquemas resultantes. Los n esquemas resultantes serán equivalentes a la relación inicial y tendrán menor redundancia en los datos. A tener en cuenta: Conservación de la información. Conservación de las dependencias. Mínimas redundancias en los datos. Avanzar en las formas normales.
Proceso de Descomposición 1) Hallar un recubrimiento minimal DF m 2) Determinar la(s) clave(s), AP y ANP 3) Identificar la FN en que se encuentra la relación Si se desea llegar a una forma normal más avanzada: 4) Agrupar las DF que tengan el mismo implicante y/o equivalente 5) Obtener proyecciones independientes sobre cada una de las DF (o de los grupos), de forma que los atributos que aparecen en la DF constituyen una nueva relación y los ANP, así como la DF, desaparezcan de la relación origen. 6) Proseguir esta descomposición repitiendo el paso 5 hasta que no pueda continuarse porque todas las DF estén implicadas por una clave. Nos aseguramos relaciones en 5FN
Ejemplo: Proceso de Descomposición R R({ AT},{ DEP m }) AT = { B, C, D, E, F} DEP m = { B C; D F; C E} Claves:{B,D} 1FN R1 AT Claves:{C} 5FN = { C, E} DEP = { C E} R1 AT = { B, C, D, F} DEP = { B C; D F} Claves:{B,D} 1FN R2 AT = { D, F} R3 DEP = { D F} Claves:{D} 5FN Claves:{B} 5FN AT = { B, C} DEP = { B C}
Proceso de Síntesis 1) Hallar un recubrimiento minimal DF m 2) Agrupar las DF en particiones que tienen el mismo implicante, uniendo los atributos equivalentes 3) Crear un esquema Ri para cada paración, que tenga como atributos todos los que paracipen en las dependencias y como grupo de dependencias las del grupo. 4) Si existen atributos que no son implicantes ni implicados, formar un esquema de relación con estos sin dependencias o alternativamente crear un esquema con la clave de la relación sin dependencias. Nos aseguramos relaciones en FNBC
Ejemplo: Proceso de Síntesis R({ AT},{ DEP m }) AT = { B, C, D, E, F} DEP m = { B C; D F; C E} Se crea un nuevo esquema de relación por cada conjunto de dependencias que poseen el mismo implicante R1({ B, C},{ B C}) R2({ D, F},{ D F}) R3({ C, E},{ C E})
Contenido Introducción Normalización de Relaciones Dependencias y cálculo del cierre de un descriptor. Cálculo del recubrimiento minimal. Cálculo de las claves candidatas Formas Normales Métodos de descomposición y síntesis Bibliogra;a
Bibliogra;a & Date, C. J. An Introduction to Database Systems (8ª edición), Addison-Wesley, 2004. (Existe traducción al castellano de la 7ª Ed.) & Piattini, M., Marcos, E., Calero, C. y Vela, B. Tecnología y Diseño de Bases de Datos, Ed.: RA-M 2006 & de Miguel A., et al. Diseño de Bases de Datos. Problemas Resueltos. Ed.: RA-M 2001