Normalizacion de Base de datos
Click here to load reader
Transcript of 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
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
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
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
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