Está en la página 1de 18

In.Co.

- Facultad de Ingeniera Curso : Fundamentos de Bases de Datos


1 Tema 4 - Diseo Relacional
Formas Normales
Normalizacin - Introduccin
Primera Forma Normal
Segunda Forma Normal
Tercera Forma Normal
Forma Normal de Boyce-Codd
Dependencias Multivaluadas
Cuarta Forma Normal
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
2 Tema 4 - Diseo Relacional
Normalizacin
Introduccin
En el proceso de normalizacin se somete un esquema
relacin (er) a una serie de pruebas para certificar si
pertenece o no a una cierta forma normal.
Puede considerarse como un proceso durante el cual
los er insatisfactorios se descomponen repartiendo sus
atributos entre ers ms pequeos que poseen
propiedades deseables.
Las formas normales, sin considerar otros factores, no
garantizan un buen diseo de BD. Props adicionales:
Join sin prdida
Preservacin de dependencias
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
3 Tema 4 - Diseo Relacional
Superclave
Superclave
Una superclave de R = {A
1
, , A
n
} es un
conjunto de atributos S R tal que no existen 2
tuplas t
1
y t
2
en ningn r tal que t
1
[S] = t
2
[S].
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
4 Tema 4 - Diseo Relacional
Clave
Clave
Una clave K es una superclave que cumple que
si se le quita alguno de sus atributos, deja de
ser superclave.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
5 Tema 4 - Diseo Relacional
Clave Candidata
Clave candidata, clave primaria
Si una relacion tiene mas de una clave, cada
una es una clave candidata. Una de ellas es
arbitrariamente designada como clave primaria.
El resto son secundarias.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
6 Tema 4 - Diseo Relacional
Primera Forma Normal (1NF)
Definicin
Los dominios de los atributos deben incluir solo
valores atmicos (los atributos no pueden ser
multivaluados ni compuestos)
Ejemplo
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
7 Tema 4 - Diseo Relacional
Definiciones
Atributo Primo
Un atributo del esquema relacin R es primo si
es miembro de alguna clave de R.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
8 Tema 4 - Diseo Relacional
Definiciones
Dependencia Total
XY es una df total si la eliminacin de
cualquier atributo A de X hace que la df deje de
ser vlida. (no tiene atr. redundantes a la izq.)
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
9 Tema 4 - Diseo Relacional
Definiciones
Dependencia Parcial
XY es una df parcial si es posible eliminar un
atributo A de X, y la df sigue siendo vlida.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
10 Tema 4 - Diseo Relacional
Segunda Forma Normal (2NF)
Definicin
Un er R est en 2NF si ningn atributo no primo
A de R depende parcialmente de cualquier
clave de R.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
11 Tema 4 - Diseo Relacional
Segunda Forma Normal (2NF)
Ejemplo
El atributo no primo NOMBREE viola 2NF, por la df2
Los atr no primos NOMBREPR y LUGARP violan 2NF, por la df3
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
12 Tema 4 - Diseo Relacional
Segunda Forma Normal (2NF)
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
13 Tema 4 - Diseo Relacional
Definiciones
Dependencia Transitiva
Una df XY en un er R es una df transitiva si
existe un conjunto de atributos Z que no sea un
subconjunto de una clave de R, y se cumplen
tanto XZ como ZY.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
14 Tema 4 - Diseo Relacional
Tercera Forma Normal (3NF)
Definicin
Un er R est en 3NF si est en 2NF y ningn
atributo no primo de R depende transitivamente
de una clave de R.
Un er R est en 3NF si, siempre que una df
XA se cumple en R, o bien (a) X es una
superclave de R, o (b) A es un atributo primo de
R.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
15 Tema 4 - Diseo Relacional
Tercera Forma Normal (3NF)
Ejemplo
Las dfs NUMERODNOMBRED y NUMERODNSSGTED violan 3NF
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
16 Tema 4 - Diseo Relacional
Tercera Forma Normal (3NF)
Ejemplo
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
17 Tema 4 - Diseo Relacional
Forma Normal de Boyce-Codd (BCNF)
Definicin
Un er R est en BCNF si, siempre que una df
XA se cumple en R, entonces X es una
superclave de R.
Ejemplo
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
18 Tema 4 - Diseo Relacional
Forma Normal de Boyce-Codd (BCNF)
Ejemplo
Imparte (estudiante, curso, profesor)
F = { estudiante, curso profesor
profesor curso }
Claves: {estudiante, curso} y {estudiante,
profesor}
3NF
Descomposiciones posibles:
{estudiante, profesor} y {estudiante, curso}
{curso, profesor} y {curso, estudiante}
{profesor, curso} y {profesor, estudiante}
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
19 Tema 4 - Diseo Relacional
Algoritmos de diseo
Descomposicin de relaciones
Preservacin de dependencias
Descomposicin en 3NF preservando las dfs
Join sin prdida. Propiedad
Test de join sin prdida
Descomposicin en BCNF con JSP
Descomposicin en 3NF con JSP y pres de dfs
Problemas con valores nulos y tuplas colgantes
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
20 Tema 4 - Diseo Relacional
Descomposicin de relaciones
Esquema relacin universal R
R = (A
1
, A
2
, ..., A
n
), que contiene todos los
atributos de la BD
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
21 Tema 4 - Diseo Relacional
Descomposicin de relaciones
Descomposicin de R, D
D = (R
1
, R
2
, ..., R
m
), que se obtiene mediante
los algoritmos que realizan la descomposicin
utilizando las dependencias funcionales
Se debe verificar:
i=1
m
R
i
= R
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
22 Tema 4 - Diseo Relacional
Preservacin de dependencias
Proyeccin de un conjunto de
dependencias sobre un Esquema de
Relacin
Dado un conjunto de dfs F sobre R, la
proyeccin de F sobre R
i
,
Ri
(F), donde R
i
es
un subconj de R, es el conj de dfs XY en F+
tal que los atributos en XY estn todos
contenidos en R
i
.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
23 Tema 4 - Diseo Relacional
Preservacin de dependencias
Preservacin de dependencias
Una descomposicin D = (R
1
, R
2
, ..., R
m
) de R
preserva las dependencias respecto a F si se
cumple: ( (
R1
(F)) ... (
Rm
(F)) )+ = F+
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
24 Tema 4 - Diseo Relacional
Descomposicin en 3NF con pres de dfs
Algoritmo
1. Encontrar un cubrimiento minimal G para F;
2. Para cada miembro izq X de una df que aparezca en G
crear un er {X A
1
A
2
... A
m
} en D, donde
XA
1
, XA
2
, ... , XA
m
sean las nicas dfs en G
con X como miembro izq;
3. Colocar cualesquier atributos restantes en un solo er
para asegurar la prop de preservacin de dependencias;
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
25 Tema 4 - Diseo Relacional
Join sin Prdida
Definicin
Una descomposicin D = (R
1
, R
2
, ..., R
m
) de R
tiene la propiedad de JSP respecto al conjunto
de dfs F sobre R, si por cada instancia de
relacin r de R que satisfaga F, se cumple lo
siguiente:
* (
R1
(r), ...,
Rm
(r)) = r
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
26 Tema 4 - Diseo Relacional
Join sin Prdida
Propiedad
D = (R
1
, R
2
) de R tiene JSP respecto a F sobre
R sii - la df (R
1
R
2
) (R
1
- R
2
) est en F+
- la df (R
1
R
2
) (R
2
- R
1
) est en F+
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
27 Tema 4 - Diseo Relacional
Test de join sin prdida
Algoritmo
1. crear una matriz S con una fila i por cada relacin R
i
en la desc
D, y una columna j por cada atributo A
j
en R;
2. hacer S(i,j) := b
ij
para todas las entradas de la matriz;
3. para cada fila i que represente el er R
i
para cada columna j que represente el atributo A
j
si R
i
incluye a A
j
entonces hacer S(i,j) := a
j
;
4. repetir hasta que una ejecucin no modifique S
para cada df XY en F
igualar los smbolos en los atributos de Y para
aquellas filas que coinciden en los atributos de X;
5. si una fila tiene todos smbolos a, la desc es con JSP, en caso
contrario, no lo es;
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
28 Tema 4 - Diseo Relacional
Test de join sin prdida
Ejemplo
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
29 Tema 4 - Diseo Relacional
Descomposicin en BCNF con JSP
Algoritmo
1. hacer D := { R };
2. mientras haya un er Q en D que no est en BCNF hacer
comenzar
escoger un er Q en D que no est en BCNF;
encontrar una df XY en Q que viole BCNF;
reemplazar Q en D por dos esquemas (Q - Y) y (X Y)
fin;
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
30 Tema 4 - Diseo Relacional
Desc en 3NF con JSP y pres de dfs
Algoritmo
1. encontrar un cubrimiento minimal G para F;
2. para cada miembro izq X de una df que aparezca en G
crear un er {X A
1
A
2
... A
1m
} en D, donde
XA
1
, XA
2
, ... , XA
m
sean las nicas dfs en G
con X como miembro izq;
3. colocar cualesquier atributos restantes en un solo er;
4. si ninguno de los er contiene una clave de R, crear un er
adicional que contenga atributos que formen una clave de R;
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
31 Tema 4 - Diseo Relacional
Problemas con nulos
Ejemplo
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
32 Tema 4 - Diseo Relacional
Problemas con nulos
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
33 Tema 4 - Diseo Relacional
Problemas con tuplas colgantes
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
34 Tema 4 - Diseo Relacional
Resumen
Se presentaron las ideas bsicas de la
teora de diseo relacional.
Dependencia Funcional
Forma Normal
Descomposicin
Preservacin de Dependencias
Join Sin Prdida
Algoritmos de Normalizacin.
In.Co. - Facultad de Ingeniera Curso : Fundamentos de Bases de Datos
35 Tema 4 - Diseo Relacional
Resumen
1NF
2NF
3NF
BCNF

También podría gustarte