Definicin: Sea R un esquema de relacin. Diremos que R est en 1FN si y slo si para todo atributo A R los valores de dom(A) son atmicos.
Es una forma normal bastante intuitiva: nadie pone en un solo campo de un registro aquella informacin que necesita ser accedida individualmente.
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
1
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
2
Normalizacin en 1FN
Normalizacin en 2FN
Definicin: Sea: R un esquema de relacin.
No est en 1FN
F un conjunto de dependencias funcionales Diremos que R est en 2FN con respecto a F si y slo si: R est en 1FN y todo atributo no primo depende plenamente de toda clave.
Docente D1 D2 D3
Si R no est en 2FN respecto de F, entonces existe una dependencia no plena de atributos no primos respecto de alguna de las claves. Est en 1FN
Clculo D2 Clculo D4
Ao 2007
3
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
4
Normalizacin en 2FN
Normalizacin en 2FN
Si R no est en 2FN, entonces existe una clave X y existe Z R, Z formado slo por atributos no primos tales que: X pl Z
Esto implica que existe Y X tal que Y Z. R1 = R - Z Entonces, descomponemos R en dos subesquemas: R1 = R - Z R2 = Y Z Ahora analizamos si R1 y R2 estn en 2FN. Si no lo estn, aplicamos el mismo proceso recursivamente hasta llegar a esquemas que estn en 2FN. Este algoritmo se conoce con el nombre de Algoritmo de Descomposicin.
OA y BDI - UNSL
Prof. Norma Herrera
R2 = Y Z
Ao 2007
5
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
6
Normalizacin en 2FN
Normalizacin en 2FN
R Si R no est en 2FN
Lema 1: (demostrado en clases anteriores) Sea R un esquema de relacin, F un conjunto de dependencias funcionales y = { R1, R2} una descomposicin de R. es LLJ si y slo si: (R1 R2) ( R1- R2) o (R1 R2) ( R2- R1)
R1 Si R1 no est en 2FN.
R2 Si R2 no est en 2FN.
R .11
R .12
. .
. .
. .
. . .
Sea R un esquema de relacin, F un conjunto de dependencias funcionales y = { R1, , Ri,..., Rn } una descomposicin LLJ de R. Sea ={Ri1, Ri2} una descomposicin LLJ de Ri. Luego: = { R1, R2,..., Ri-1, Ri1, Ri2, Ri+1, ...., Rn} es una descomposicin LLJ de R.
OA y BDI - UNSL
Prof. Norma Herrera
Se produce un rbol de descomposicin, donde los terminales forman una descomposicin en 2FN. La descomposicin encontrada es LLJ.
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
7
Ao 2007
8
Normalizacin en 2FN
Normalizacin en 2FN
Ejemplo: R ={ NroA, NbreA, DirA, CodM, NbreM, Ao, Cuat, CodP, NbreP } F = { NroA NbreA DirA , CodM NbreM Ao Cuat CodP NbreP
Demostracin: La demostracin de este teorema se realiza por induccin sobre usando los dos lemas anteriores. Queda como ejercicio.
CodP NbreP } Clave: NroA CodM No est en 2FN, porque existen dependencias no plenas de atributos no primos respecto de la clave
NroA CodM
pl
NbreA
DirA
X
OA y BDI - UNSL
Prof. Norma Herrera
Y
Ao 2007
10
Ao 2007
9
OA y BDI - UNSL
Prof. Norma Herrera
Normalizacin en 3FN
Definicin 1 (Maier): Sea: R un esquema de relacin. F un conjunto de dependencias funcionales Diremos que R est en 3FN con respecto a F si y slo si: R est en 1FN y no existen dependencias transitivas de atributos no primos respecto de alguna de las claves
Normalizacin en 3FN
Existen dos algoritmos para normalizar R en 3FN: 1. Algoritmo de Descomposicin (el mismo que vimos para 2FN) 2. Algoritmo de Sntesis
Definicin 2 (Ullman): Sea: R un esquema de relacin (se supone ya en 1FN). F un conjunto de dependencias funcionales Diremos que R est en 3FN con respecto a F si y slo si para toda dependencia X A vlida en R (con A X) se cumple que: X es superclave A es primo
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
11
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
12
Algoritmo de Descomposicin
Si R no est en 3FN respecto de F, entonces existe una dependencia transitiva de atributos no primos respecto de alguna clave. En smbolos: existe una clave X existe Z R, Z formado slo por atributos no primos. existe Y R tales que: X Y Y X Y Z con (Z XY)= Entonces, descomponemos R en dos subesquemas: R1 = R - Z
OA y BDI - UNSL
Prof. Norma Herrera
R X Y Y X Y Z con Z XY
R1 = R - Z
R2 = Y Z
Ahora analizamos si R1 y R2 estn en 3FN. Si no lo estn, aplicamos el mismo proceso recursivamente hasta llegar a esquemas que estn en 3FN. Se produce un rbol de descomposicin, donde los terminales forman una descomposicin de R que est en 3FN y es LLJ.
Ao 2007
13
R2 = Y Z
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
14
Problemas de Normalizacin a travs de Descomposicin Problema 1 : Se puede producir una descomposicin con ms esquemas de los necesarios. Solucin: Cuando planteamos la dependencia transitiva XY Y X YZ con (Z XY)=
Problema 2: Se pueden introducir dependencias no plenas, lo que produce una descomposicin con ms esquemas de los necesarios. Solucin: Cuando planteamos la dependencia transitiva XY Y X YZ con (Z XY)=
Ponemos en Z la mxima cantidad de atributos posibles, es decir: Z = Y+ - X -Y - AP donde AP es el conjunto de atributos primos,
Ponemos en Y la mnima cantidad de atributos posibles; esto significa que la dependencia Y Z debe ser reducida a izquierda
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
15
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
16
Algoritmo de Sntesis
Entrada:
Problemas de Normalizacin a travs de Sntesis Problema 1 : Se puede producir una descomposicin con ms esquemas de los necesarios. Solucin:
R esquema de relacin. F un conjunto minimal de dependencias funcionales Salida: = { R1, R2, ..., Rn } una descomposicin en 3FN de R, donde preserva el conjunto de dependencias F. Mtodo: 1. Si existen atributos que no participan en ninguna dependencia, entonces esos atributos forman un subesquema. 2. Por cada dependencia X A F formar un esquema Ri= X {A}
OA y BDI - UNSL
Prof. Norma Herrera
1. Si existen dependencias de la forma: X A1, X A2......... X An entonces se armar un nico subesquema: Ri= X {A1, A2,...., An} 2. Tratar los anillos de dependencias separadamente, y luego aplicar el el algoritmo de sntesis al resto de las dependencias.
Ao 2007
17
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
18
Problema 2 : Se puede producir una descomposicin que no sea LLJ. Solucin: La solucin a este problema se basa en el siguiente teorema
Sea = { R1, R2,..., Rn } una descomposicin 3FN de R obtenida por el algoritmo de sntesis. Si al menos una de las claves de R est incluida en un subesquema Ri , entonces la descomposicin es LLJ (adems de 3FN y PD). Si ninguna de las claves est incluida en un subesquema, entonces agregamos un subesquema con una de las claves para que la descomposicin sea LLJ (adems de 3FN y PD).
Teorema (Teorema 7.8, Ullman) Sea una descomposicin 3FN de R obtenida por el algoritmo de sntesis. Sea X una clave de R. Entonces = {X} es una descomposicin en 3FN de R que es LLJ y PD.
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
19
OA y BDI - UNSL
Prof. Norma Herrera
Ao 2007
20