Normalizacion de Base de datos

5

Click here to load reader

Transcript of Normalizacion de Base de datos

Page 1: Normalizacion de Base de datos

1

NormalizaciNormalizacióón n Avanzada del Avanzada del

Modelo RelacionalModelo Relacional

Bases de DatosBases de DatosIngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de Sistemas

Prof. Dr. Antonio Mosquera González

MMáás Formas Normaless Formas Normales

NormalizaciNormalizacióón Avanzada del Modelo Relacionaln Avanzada del Modelo Relacional

Las relaciones en 3FN están normalmente lo suficientemente bien estructuradas como para evitar los problemas asociados a la redundancia de datos

Prof. Dr. Antonio Mosquera González

22

Sin embargo, se han creado una serie de formas normales más avanzadas para identificar una serie de problemas relativamente raros que afectan a las relaciones y que, si no se corrigen, pueden dar como resultado una redundancia de datos indeseable

33

Dependencias Funcionales

Forma Normal de Boyce-Codd

Cuarta Forma Normal

Quinta Forma Normal

Prof. Dr. Antonio Mosquera González

NormalizaciNormalizacióón Avanzada del Modelo Relacionaln Avanzada del Modelo Relacional

ÍÍndicendice

Dependencias Dependencias FuncionalesFuncionales

NormalizaciNormalizacióón Avanzada del Modelo Relacionaln Avanzada del Modelo RelacionalBases de DatosBases de Datos

IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González

55

Las dependencias funcionales describen la relación existente entre atributos de una relación

Por ejemplo, si A y B son atributos de la relación R, B será funcionalmente dependiente de A o A determina funcionalmente a B (lo que se denota A B) si cada valor de A está asociado con exactamente un valor de B

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Dependencia FuncionalDependencia Funcional

La dependencia funcional es una propiedad de la semántica de los atributos de una relación

A y B pueden consistir cada uno de ellos de uno o más atributos

66

Aún con la restricción de dependencias funcionales uno a uno que sean completas, el conjunto de todas las dependencias funcionales para una relación dada puede seguir teniendo un gran tamaño

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Dependencias Funcionales Dependencias Funcionales ÚÚtilestiles

¿Cómo se puede identificar cuáles son las dependencias funcionales útiles dentro de una relación?

Técnica que permita reducir el conjunto de dependencias funcionales a un tamaño manejable

Hay dependencias funcionales que pueden inferirse a partir de otras dependencias funcionales

Page 2: Normalizacion de Base de datos

2

77

La tarea de especificar todas las dependencias funcionales posibles en los proyectos reales de bases de datos suele ser muy a menudo imposible de abordar

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Reg. Inferencia y Conj. MReg. Inferencia y Conj. Míínimonimo

Utilizar reglas de inferencia para identificar el conjunto completo de dependencias funcionales de una relación

Y luego obtener un conjunto mínimo de dependencias funcionales que pueda representar el conjunto completo

88

El conjunto de todas las dependencias funcionales que pueden derivarse a partir de un conjunto dado de dependencias funcionales X se denomina cierre de X, lo que se escribe como X+

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

CierreCierre

99

Sean A, B y C subconjuntos de los atributos de la relación R

Reflexividad: Si B es un subconjunto de A, entonces A B

Aumentación: Si A B, entonces A,C B,C

Transitividad: Si A B y B C, entonces A C

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Axiomas de Axiomas de ArmstrongArmstrong

Los axiomas de Armstrong son completos (todas las dependencias funcionales derivables de X pueden deducirse a partir de las reglas) y adecuados (no puede deducirse ninguna dependencia funcional que no sea derivable a partir de X)

Pueden usarse para calcular X+

1010Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Otras ReglasOtras Reglas

Sean A, B, C y D subconjuntos de los atributos de la relación R

Autodeterminación: A A

Descomposición: Si A B,C, entonces A B y A C

Unión: Si A B y A C, entonces A B,C

Composición: Si A B y C D, entonces A,C B,D

1111

El axioma de la reflexividad y la regla de autodeterminación indican que un conjunto de atributos siempre se determina a sí mismo y a cualquiera de sus subconjuntos; Puesto que estas reglas generan dependencias funcionales que siempre son ciertas, dichas dependencias son triviales y generalmente no resultan ni interesantes ni útiles

El axioma de aumentación indica que si se añade el mismo conjunto de atributos al lado izquierdo y al lado derecho de una dependencia, se obtiene otra dependencia válida

El axioma de transitividad establece que las dependencias funcionales son transitivas

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

AnAnáálisislisis

1212

La regla de descomposición indica que se puede eliminar atributos del lado derecho de una dependencia; Aplicando esta regla repetidamente de puede descomponer la dependencia funcional A B,C,D en el conjunto de dependencias A B, A C y A D

La regla de unión indica que se puede hacer la operación inversa de la descomposición; Se puede combinar un conjunto de dependencias A B, A C y A D en una única dependencia funcional A B,C,D

La regla de composición es más general que la regla de unión e indica que se pueden combinar conjuntos de dependencias no solapadas con el fin de formar otra dependencia válida

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

AnAnáálisislisis

Page 3: Normalizacion de Base de datos

3

1313

Para identificar el conjunto de dependencias funcionales F de una relación

1. Se comienza identificando las dependencias que puedan deducirse a partir de la semántica de los atributos

2. Se aplican los axiomas de Armstrong para inferir dependencias funcionales que también sean ciertas para esa relación (calculando el cierre de A bajo F, A+, para cada conjunto de atributos A que aparezca en el determinante de una dependencia funcional)

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Conjunto FConjunto F

1414

Un conjunto de dependencias funcionales Y está cubierto por un conjunto de dependencias funcionales X, si toda dependencia funcional de Y está también en X+, es decir, si toda dependencia funcional contenida en Y puede inferirse a partir de X

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Conjunto MConjunto Míínimonimo

1515

Un conjunto de dependencias funcionales X es mínimosi satisface que:

Toda dependencia contenida en X tiene un único atributo en su lado derecho

No se puede sustituir ninguna dependencia A B de X por la dependencia C B, donde C es un subconjunto de A, y continuar obteniendo un conjunto de dependencias equivalente a X

No se puede eliminar ninguna dependencia de X y seguir teniendo un conjunto de dependencias equivalente a X

Prof. Dr. Antonio Mosquera González

Dependencias FuncionalesDependencias Funcionales

Conjunto MConjunto Míínimonimo

Puede haber varios recubrimientos mínimos

Forma Normal Forma Normal de de BoyceBoyce--CoddCodd

NormalizaciNormalizacióón Avanzada del Modelo Relacionaln Avanzada del Modelo RelacionalBases de DatosBases de Datos

IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González

1717

Forma Normal de Boyce-Codd (FNBC): Una relación está en Forma Normal de Boyce-Codd, si y sólo si todo determinante es una clave candidata

Prof. Dr. Antonio Mosquera González

Forma Normal de Forma Normal de BoyceBoyce--CoddCodd

DefiniciDefinicióónn

Para transformar una relación a forma Normal de Boyce-Codd se elimina la dependencia funcional problemática creando un nueva relación a la que se llevan los atributos de dicha dependencia y eliminando los atributos dependientes de la original

1818

La violación de la Forma Normal de Boyce-Coddes bastante infrecuente

Prof. Dr. Antonio Mosquera González

Forma Normal de Forma Normal de BoyceBoyce--CoddCodd

ViolaciViolacióón de FNBCn de FNBC

Sólo puede aparecer cuando:

La relación contenga dos (o más) claves candidatas compuestas

Las claves candidatas se solapen, es decir, tengan al menos un atributo en común

Page 4: Normalizacion de Base de datos

4

1919Prof. Dr. Antonio Mosquera González

Forma Normal de Forma Normal de BoyceBoyce--CoddCodd

3FN 3FN vsvs FNBCFNBC

La diferencia entre 3FN y FNBC es que para una dependencia funcional A B, 3FN permite que exista esta dependencia en una relación si B es un atributo de clave candidata y A no es una clave candidata, mientras que FNBC exige que A sea una clave candidata

2020Prof. Dr. Antonio Mosquera González

Forma Normal de Forma Normal de BoyceBoyce--CoddCodd

3FN 3FN vsvs FNBCFNBC

Partiendo de una relación que no está en FNBC, siempre se puede descomponer para obtener la forma normal de BC

Puede que no siempre sea deseable transformar una relación a FNBC; por ejemplo, si hay alguna dependencia funcional que no sea preservada al realizar la descomposición (es decir, si el determinante y los atributos que dependen funcionalmente de él quedan ubicados en relaciones distintas)

Perder una dependencia implica perder semántica; Cuando esto sucede, puede que sea más adecuado detenerse en 3FN, que siempre preserva las dependencias

Cuarta Forma Cuarta Forma NormalNormal

NormalizaciNormalizacióón Avanzada del Modelo Relacionaln Avanzada del Modelo RelacionalBases de DatosBases de Datos

IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González

2222

Una dependencia multivaluada representa una dependencia entre atributos (por ejemplo A, B y C) en una relación de modo que para cada valor de A hay un conjunto de valores de B y un conjunto de valores de C; Sin embargo, los conjuntos de valores de B y C son independientes entre si

Prof. Dr. Antonio Mosquera González

Cuarta Forma NormalCuarta Forma Normal

Dependencia Dependencia MultivaluadaMultivaluada

La posible existencia de dependencias multivaluadasen una relación se debe a la primera forma normal (por ejemplo, si hay dos atributos multivaluados es preciso desarrollar todas las combinaciones de un valor de uno con cada valor del otro)

C1C1C2C2

B1B2B1B2

A1A1A1A1

CBA

A > B

2323

Cuarta Forma Normal (4FN): Una relación que está en forma normal de Boyce-Codd y no contiene dependencias multivaluadas no triviales

Prof. Dr. Antonio Mosquera González

Cuarta Forma NormalCuarta Forma Normal

DefiniciDefinicióónn

Una dependencia multivaluada A > B es trivial si B es un subconjunto de A o si A U B = R

C1C1C2C2

B1B2B1B2

A1A1A1A1

CBA

B1B2

A1A1

BAC1C2

A1A1

CA

Quinta Forma Quinta Forma NormalNormal

NormalizaciNormalizacióón Avanzada del Modelo Relacionaln Avanzada del Modelo RelacionalBases de DatosBases de Datos

IngenierIngenieríía Ta Téécnica en Informcnica en Informáática de Sistemastica de SistemasProf. Dr. Antonio Mosquera González

Page 5: Normalizacion de Base de datos

5

2525

Una dependencia de combinación es un tipo de dependencia en la que, por ejemplo, para una relación R compuesta por una serie de subconjuntos de los atributos de R denominados A, B, …, Z, la relación R exhibirá una dependencia de combinación si y sólo si todo valor legal de R es igual a la combinación de sus proyecciones sobre A, B, …, Z

Prof. Dr. Antonio Mosquera González

Quinta Forma NormalQuinta Forma Normal

Dependencia de CombinaciDependencia de Combinacióónn

Sólo para descomposiciones en más de dos relaciones

2626

Quinta Forma Normal (5FN): Una relación que no tiene dependencias de combinación

Prof. Dr. Antonio Mosquera González

Quinta Forma NormalQuinta Forma Normal

DefiniciDefinicióónn

C1C2C2

B1B2B1

A1A1A2

CBA

B1B2B1

A1A1A2

BA

C1C2C2

A1A1A2

CA

C1C2C2

B1B2B1

CB

A1A1A1A1A1A1A2A2A2A1A1A1A1A1A1A2A2A2A1A1A1A1A1A1A2A2A2

A

C1C1C1C2C2C2C2C2C2C1C1C1C2C2C2C2C2C2C1C1C1C2C2C2C2C2C2

C

B1B2B1B1B2B1B1B2B1B1B2B1B1B2B1B1B2B1B1B2B1B1B2B1B1B2B1

B

C1C2C2C1C2C2C1C2C2C1C2C2C1C2C2C1C2C2C1C2C2C1C2C2C1C2C2

B1B1B1B1B1B1B1B1B1B2B2B2B2B2B2B2B2B2B1B1B1B1B1B1B1B1B1

A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A2A2A2A2A2A2A2A2A2

CBA

C1C2C2C2

B1B1B2B1

A1A1A1A2

CBA