Anda di halaman 1dari 4

Normalizacin en 1FN

Teora de Diseo de Bases de Datos Relacionales

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.

Normalizacin de un Esquema de Relacin


Un atributo no es atmico si la aplicacin trata con partes de ese atributo.
Organizacin de Archivos y Bases de Datos I Ciclo 2007 http://www.dirinfo.unsl.edu.ar/~oaybd1/

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.

Ejemplo Materias = { CodM , NombreM, Docentes }


CodM 10 20 NbreM Docentes

Lgica {D1, D2, D3} Clculo {D2, D4}

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.

Materias = { CodM , NombreM, Docente }


CodM 10 10 10 20 20
OA y BDI - UNSL
Prof. Norma Herrera

NbreM Lgica Lgica Lgica

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

Esto implica que en R hay redundancia de datos.

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

R X pl Z porque existe Y X tal que Y 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

Lema 2: (7.6, Ullman) R .21 R22

. .

. .

. .

. . .

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

Teorema El algoritmo de descomposicin produce una descomposicin LLJ.

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

porque NroA 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

Si R no est en 3FN respecto de F, entonces en R existen redundancia de datos.

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

Nota: el algoritmo de descomposicin sirve para normalizar R en 2FN, 3FN y BCNF.

Ao 2007
11

OA y BDI - UNSL
Prof. Norma Herrera

Ao 2007
12

Normalizacin en 3FN (Descomposicin)

Normalizacin en 3FN (Descomposicin)

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

Normalizacin en 3FN (Descomposicin)

Normalizacin en 3FN (Descomposicin)

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

Problema 3: Puede producir una descomposicin que no preserve dependencias.

OA y BDI - UNSL
Prof. Norma Herrera

Ao 2007
15

OA y BDI - UNSL
Prof. Norma Herrera

Ao 2007
16

Normalizacin en 3FN (Sntesis)

Normalizacin en 3FN (Sntesis)

Algoritmo de Sntesis
Entrada:

(Algoritmo 7.5, Ullman)

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

Normalizacin en 3FN (Sntesis)

Normalizacin en 3FN (Sntesis)

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

Anda mungkin juga menyukai