You are on page 1of 36

8.

Teora de la Normalizacin
Objetivos
Apreciar la importancia y utilidad de emplear la teora de la
normalizacin en la etapa de diseo lgico de bases de datos
relacionales, para detectar y corregir esquemas relacionales
diseados inadecuadamente.
Comprender los conceptos de dependencia funcional y
dependencia multivalorada.
Entender el significado de las formas normales 1FN, 2FN, 3FN,
FNBC y 4FN.
Comprender los diferentes procedimientos algortmicos de la
teora de la normalizacin que permiten determinar las claves
de, o normalizar, una relacin.
Tema 8. Teora de la normalizacin

8. Teora de la Normalizacin
Contenidos
8.1. Motivacin
1. Dificultades en el diseo de esquemas relacionales
2. Obtencin de esquemas relacionales de calidad

8.2. Dependencias funcionales


8.3. Las tres primeras formas normales y la forma normal de
Boyce/Codd
8.4. Enfoques de diseo relacional: Anlisis y Sntesis
8.5. Dependencias multivaloradas y cuarta forma normal

Tema 8. Teora de la normalizacin

8. Teora de la Normalizacin
Bibliografa
Elmasri, R.; Navathe, S.B.: Fundamentos de Sistemas de Bases de
Datos. 3 Edicin. Addison-Wesley. (Cap. 14 y 15)
[EN 1997]
Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos
fundamentales. 2 Ed. Addison-Wesley Iberoam. (Cap. 12 y 13)
[MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseo de bases de datos
relacionales. Ra-Ma. (Cap. 4 al 6)
[SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.: Fundamentos de bases
de datos. 3 Edicin. McGraw-Hill. (Cap. 7)

[EN 2002]

[CBS 1998]
[D 2001]

Connolly; Begg; Strachan: Database Systems: A Practical Approach to


Design, Implementation and Management. 2nd Ed. Add.-Wesl. (Cap. 6)
Date, C.J.: Introduccin a los sistemas de bases de datos. 7 Edicin.
Prentice-Hall. (Cap. 10 al 12)

Tema 8. Teora de la normalizacin

8.1 Motivacin
Diseo en el modelo relacional de datos
Objetivo principal del desarrollo de un esquema de bases de datos
relacional:
Crear una representacin precisa y adecuada
de los datos, sus relaciones y sus restricciones
Definicin de normalizacin (E.F. Codd, 1972) :
Tcnica para producir un conjunto de relaciones
(tablas) con propiedades deseables, dados los
requisitos de datos de una organizacin
Tema 8. Teora de la normalizacin

8.1 Motivacin
Diseo en el modelo relacional de datos

(2)

Recordemos que...
esquema de relacin = { atributos }
esquema de BD relacional= { esquemas de relacin }

Cmo obtener un esquema de BDR?


Segn el sentido comn del diseador de BD, o
Mediante transformacin del esquema conceptual (diagrama MERE)
Pero, cmo saber si mi esquema es ... mejor que el tuyo?
... ms apropiado?
... de mayor calidad?
intuicin?

Necesitamos pautas o teoras que ayuden al diseador a

identificar el agrupamiento ptimo de los atributos para cada


relacin en el esquema
5

Tema 8. Teora de la normalizacin

8.1 Motivacin
Diseo en el modelo relacional de datos

(y 3)

Se puede evaluar la idoneidad de esquemas de relacin en...


Nivel lgico
interpretacin
de cada esquema de relacin (base o vista) y
del significado de sus atributos
JSi el esquema de relacin es bueno,
el usuario comprende su significado
realizar consultas correctas

Nivel de almacenamiento
cmo se almacenan y actualizan las tuplas de cada relacin base

Tema 8. Teora de la normalizacin

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales
Propiedades no deseables que puede tener un esquema de
relacin diseado de forma incorrecta
Repeticin de informacin
Anomalas de actualizacin de la base de datos
Incapacidad para representar cierta informacin
Prdida de informacin

Tema 8. Teora de la normalizacin

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (2)
Ejemplo 1: informacin sobre pedidos (y productos y clientes) almacenada
en una nica relacin
PEDIDO
nPed codProd
12
P1
09
P1
22
P1
15
P2
24
P2
05
P2
11
P3
...

descProd
silla
silla
silla
mesa
mesa
mesa
silln

Tema 8. Teora de la normalizacin

precProd
100
100
100
250
250
250
175

uds
12
30
15
35
20
20
10

cifCli
A12345678
V22332233
N43344334
A12345678
V22332233
K11112222
N43344334

nomCli
Forte
Calero
Carazo
Forte
Calero
Mitra
Carazo

ciudCli
Madrid
Valencia
Alicante
Madrid
Valencia
Madrid
Alicante

distanc
400
200
80
400
200
400
80

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (3)
Ejemplo 1 (continuacin)
PEDIDO ( nPed, codProd, descProd, precProd, uds, cifCli, nomCli, ciudCli, distanc )

Existe repeticin de informacin?


Hay anomalas de actualizacin?
Qu ocurre si aadimos otro pedido, el n 27, hecho por el cliente Soriano (CIF
G22224444) de Yecla (a 100 km.), de 5 unidades del producto P3 con precio 175?
Qu pasa si el cliente Forte de Madrid se traslada a Valencia?
Y si el producto P1 aumenta de precio?
Qu ocurre si eliminamos el producto P2 de la relacin PEDIDO?

Existe incapacidad para representar informacin?


Cmo representar (almacenar) un cliente que no haya realizado ningn pedido?
Y un producto que todava no haya sido pedido por un cliente?
Tema 8. Teora de la normalizacin

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (4)
Ejemplo 2: informacin sobre prstamos (y sucursales) almacenada en
una nica relacin
PRSTAMO
idSuc
ciudSuc
activo
nomCli
numPrest importe
Centro
Arganzuela
10.818.215
Santos
P-17
1.202
Moralzarzal
La Granja
2.524.250
Gmez
P-23
2.404
Navacerrada
Aluche
2.043.440
Lpez
P-15
1.803
Centro
Arganzuela
10.818.215
Soto
P-14
1.803
Becerril
Aluche
480.810
Santos
P-93
601
Collado
Aluche
9.616.194
Abril
P-11
1.082
Navas
Alcal de H.
360.607
Valdivieso P-29
1.442
Segovia
Cerceda
4.447.490
Lpez
P-16
1.570
Centro
Arganzuela
10.818.215
Gonzlez
P-63
2.404
Navacerrada
Aluche
2.043.440
Rodrguez P-25
3.005
Galapagar
Arganzuela
8.534.375
Amol
P-10
2.645
Tema 8. Teora de la normalizacin

10

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (5)
Ejemplo 2 (continuacin)
PRESTAMO ( idSuc, ciudSuc, activo, nomCli, numPrest, importe )

Existe repeticin de informacin?


Hay anomalas de actualizacin?
Qu pasa si aadimos otro prstamo, P-31, por 1.803, para el cliente Rodrguez, hecho
por la sucursal Navacerrada (ubicada en Aluche y con activo de 2.043.440)?
Qu ocurre si la sucursal Centro se traslada a otra ciudad?
Qu pasa cuando todos los prstamos de una sucursal se hayan pagado?

Existe incapacidad para representar informacin?


Cmo almacenar una sucursal que no haya concedido todava ningn prstamo?

Tema 8. Teora de la normalizacin

11

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (6)
La solucin es descomponer el esquema en varias relaciones
Ejemplo 2: PRESTAMO ( idSuc, ciudSuc, activo, nomCli, numPrest, importe)
Descomposicin en dos esquemas (son proyecciones de PRESTAMO)

SUCURSAL_CLIENTE ( idSuc, ciudSuc, activo, nomCli )


PRESTAMO_CLIENTE ( nomCli, numPrest, importe )

Tema 8. Teora de la normalizacin

12

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (7)
SUCURSAL_CLIENTE
idSuc
Centro
Moralzarzal
Navacerrada
Centro
Becerril
Collado
Navas
Segovia
Centro
Navacerrada
Galapagar

ciudSuc
Arganzuela
La Granja
Aluche
Arganzuela
Aluche
Aluche
Alcal de H.
Cerceda
Arganzuela
Aluche
Arganzuela

activo
10.818.215
2.524.250
2.043.440
10.818.215
480.810
9.616.194
360.607
4.447.490
10.818.215
2.043.440
8.534.375

nomCli
Santos
Gmez
Lpez
Soto
Santos
Abril
Valdivieso
Lpez
Gonzlez
Rodrguez
Amol
13

Tema 8. Teora de la normalizacin

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (8)
PRESTAMO_CLIENTE
nomCli
Santos
Gmez
Lpez
Soto
Santos
Abril
Valdivieso
Lpez
Gonzlez
Rodrguez
Amol
Tema 8. Teora de la normalizacin

numPrest
P-17
P-23
P-15
P-14
P-93
P-11
P-29
P-16
P-63
P-25
P-10

importe
1.202
2.404
1.803
1.803
601
1.082
1.442
1.570
2.404
3.005
2.645
14

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (9)
Consulta: obtener las sucursales con prstamos con importe < 1.202
Es necesario reconstruir la relacin PRESTAMO:
JOIN entre SUCURSAL_CLIENTE y PRESTAMO_CLIENTE, va el atributo nomCli
SELECT idSuc
FROM Sucursal_Cliente SC, Prstamo_Cliente PC
WHERE SC.nomCli=PC.nomCli AND importe < 1202;
equivalente a esta otra sentencia:
SELECT idSuc
FROM Sucursal_Cliente NATURAL JOIN Prstamo_Cliente
WHERE importe < 1202;
Resultado obtenido: tres tuplas ( (Centro...), (Becerril...), (Collado...))
Pero el resultado correcto es: ( (Becerril...), (Collado...) )
15

Tema 8. Teora de la normalizacin

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (10)
SUCURSAL_CLIENTE * PRESTAMO_CLIENTE
idSuc
ciudSuc
activo
Centro
Arganzuela
10.818.215
Centro
Arganzuela
10.818.215
Moralzarzal
La Granja
2.524.250
Navacerrada Aluche
2.043.440
Navacerrada Aluche
2.043.440
Centro
Arganzuela
10.818.215
Becerril
Aluche
480.810
Becerril
Aluche
480.810
Collado
Aluche
9.616.194
Navas
Alcal de H.
360.607
Segovia
Cerceda
4.447.490
Segovia
Cerceda
4.447.490
Centro
Arganzuela
10.818.215
Navacerrada Aluche
2.043.440
Galapagar
Arganzuela
8.534.375
Tema 8. Teora de la normalizacin

nomCli
Santos
Santos
Gmez
Lpez
Lpez
Soto
Santos
Santos
Abril
Valdivieso
Lpez
Lpez
Gonzlez
Rodrguez
Amol

numPrest
P-17
P-93
P-23
P-15
P-16
P-14
P-17
P-93
P-11
P-29
P-15
P-16
P-63
P-25
P-10

importe
1.202
601
2.404
1.803
1.570
1.803
1.202
601
1.082
1.442
1.803
1.570
2.404
3.005
2.645

16

8.1 Motivacin
Dificultades en el diseo de esquemas relacionales (y 11)
Hay ms tuplas en SUCURSAL_CLIENTE * PRESTAMO_CLIENTE que en
PRESTAMO, pero existe menos informacin:
descomposicin de reunin con prdida
Cul es la causa de esta prdida de informacin?
Es la siguiente descomposicin de reunin sin prdida?
SUCURSAL( idSuc, ciudSuc, activo )
INFO_PRESTAMO ( idSuc, nomCli, numPrest, importe )

L Una descomposicin descuidada puede conducir a otro diseo


incorrecto, debido a la prdida de informacin
Tema 8. Teora de la normalizacin

17

8.1 Motivacin
Obtencin de esquemas relacionales de calidad
Para crear buenos esquemas de relacin, o
para medir su calidad...
Seguir pautas informales de diseo
Emplear una tcnica formal: normalizacin
Se minimizar la aparicin de las propiedades no deseables

Tema 8. Teora de la normalizacin

18

8.1 Motivacin
Obtencin de esquemas relacionales de calidad (2)
Pautas de diseo de esquemas de relacin
Semntica de los atributos de un esquema de relacin
PAUTA 1 : Disear esquemas de relacin con significado fcil de entender.

Evitar combinar atributos de mltiples tipos de entidad e interrelacin en una relacin.


Si una relacin proviene de un nico tipo de entidad o interrelacin suele tener un
significado claro; en caso contrario suele ser una mezcla ambigua.

Reduccin de valores redundantes en las tuplas


minimizar espacio de almacenamiento ocupado por las relaciones base
evitar anomalas de actualizacin
PAUTA 2 : Disear esquemas de relaciones base sin anomalas de actualizacin.
Si para incrementar la eficiencia, se permite la posibilidad de anomalas, indicarlas
claramente para su tratamiento correcto por parte de las aplicaciones con acceso a los
datos (aunque, normalmente, se crearn vistas para las consultas ms frecuentes).
Tema 8. Teora de la normalizacin

19

8.1 Motivacin
Obtencin de esquemas relacionales de calidad (3)
Pautas de diseo de esquemas de relacin
Reduccin de nulos en las tuplas
NULL tiene mltiples significados, lo que dificulta...
El entendimiento de la semntica de los atributos y
La especificacin de operaciones JOIN y agregadas (SUM, AVG...)

NULL supone el desperdicio de espacio de almacenamiento


PAUTA 3 : Evitar atributos que puedan contener NULL en las relaciones base. Si no es

posible, conseguir que NULL se aplique slo a casos excepcionales y no a la mayora de


las tuplas.

Evitar la prdida de informacin: tuplas falsas (espurias)


Esta pauta puede expresada de manera ms formal
(Propiedad de Reunin sin Prdida --se ver)
PAUTA 4 : Disear las relaciones de forma que puedan ser reunidas (JOIN) mediante
condiciones de igualdad sobre atributos Clave Primaria y Clave Externa, para evitar
tuplas falsas.
Tema 8. Teora de la normalizacin

20

10

8.1 Motivacin
Obtencin de esquemas relacionales de calidad (y 4)
Normalizacin de esquemas de relacin
Proceso de normalizacin
Mtodo formal, que identifica relaciones con base en su clave primaria
(o candidatas en el caso de la FNBC) y las dependencias funcionales entre
sus atributos
Series de tests sobre cada esquema de relacin individual, para
determinar si satisface o no los requisitos de determinada forma normal
El esquema relacional de BD puede ser normalizado hasta una forma
normal especfica, para evitar propiedades no deseables

Formas normales
Basadas en dependencias funcionales entre los atributos de una relacin:
1FN, 2FN, 3FN
FNBC (R. Boyce y Codd, 1974) definicin ms fuerte de la 3FN
4FN, 5FN (Fagin, 1977, 1979)
Tema 8. Teora de la normalizacin

21

8.2 Dependencias funcionales


Sea R un esquema de relacin, cuyos atributos son a 1, a 2, ...an
En general, una dependencia funcional es una...
Restriccin entre dos conjuntos de atributos (descriptores) y
Propiedad inherente al contenido semntico de los datos, que
se debe cumplir para cualquier extensin de una relacin r con
esquema de relacin R
Una dependencia funcional...
Describe un esquema de relacin R, mediante la especificacin de
restricciones (sobre atributos) que deben cumplirse siempre
Es definida por alguien que conoce (bien) la semntica de los atributos del
esquema de relacin R

El concepto de dependencia funcional es esencial para el diseo de


esquemas de base de datos sin redundancia
Tema 8. Teora de la normalizacin

22

11

8.2 Dependencias funcionales


Definicin formal
Sea R un esquema de relacin, cuyo conjunto de atributos es A, y
sean los descriptores y , donde A, A, se dice que

si t1, t2 r(R) y t1[


]=t2[
]
entonces t1[
]=t2[
]
Es decir, depende funcionalmente de si para cualesquiera dos tuplas t1
y t2 (de la extensin de una relacin r(R) cualquiera) que tengan los mismos
valores en los atributos que forman , tambin tienen los mismos valores
para los atributos que forman

Tambin se dice que determina funcionalmente a


Que no significa que dado pueda deducirse el valor de
Si , no sabemos nada acerca de si o no
Tema 8. Teora de la normalizacin

23

8.2 Dependencias funcionales


Son propiedades de la semntica de los atributos
Una dependencia funcional (en adelante, df) no puede ser demostrada,
pero s afirmada por observacin de la realidad

Son propiedades del esquema de relacin (intensin) y no del


contenido (extensin)
A partir de la observacin de una extensin concreta de una relacin r
con esquema R, r(R), slo se puede deducir que no existe (no se cumple)
cierta dependencia funcional

Extensiones permitidas (vlidas) y no permitidas


Si cierta df es cierta para un esquema de relacin R, entonces cualquier
extensin de una relacin r(R) que no cumple dicha df, ser una
extensin no permitida (no vlida)
Tema 8. Teora de la normalizacin

24

12

8.2 Dependencias funcionales


Reglas de inferencia
Dado un conjunto de dependencias funcionales DF que R
satisface, podemos deducir que R cumple otras dfs
Sern dfs implicadas lgicamente por DF
No es necesario conocer la extensin de ninguna relacin r(R)

Sea R(A, DF)


donde A={a, b, c} y DF={a b, b c},
entonces la df a c tambin se satisface en R
Normalmente, en DF slo se especifican las dfs obvias para un
esquema de relacin R: las determinadas sin dificultad a partir de
la semntica de los atributos de R
A partir de ellas, se puede inferir el conjunto completo de dfs que se
cumplen en R
Esto es esencial para el diseo de buenos esquemas de relacin
25

Tema 8. Teora de la normalizacin

8.2 Dependencias funcionales


Axiomas de Armstrong
Sean los descriptores , , , , todos subconjuntos de A
Regla de reflexividad
dependencia
funcional
Si entonces
trivial

Regla de aditividad (de aumentatividad)


Si entonces
Regla de transitividad
Si y entonces
Conjunto de 3 reglas de inferencia completo y correcto...
... pero tedioso de utilizar
Tema 8. Teora de la normalizacin

26

13

8.2 Dependencias funcionales


Otras reglas de inferencia
... deducibles a partir de los Axiomas de Armstrong
Regla de pseudotransitividad
Si y entonces
Regla de unin (aditiva)
Si y entonces
Regla de descomposicin (de proyectividad)
Si entonces y

N slo para la
parte derecha
de una df!!

Tema 8. Teora de la normalizacin

27

8.2 Dependencias funcionales


Cierre de un conjunto de dependencias funcionales
El cierre de DF ( DF+) es el conjunto de todas las dfs que puedan
ser inferidas a partir de DF, aplicando los axiomas de Armstrong
Una df se infiere de un conjunto de dfs DF de R si toda
extensin de r(R) que cumple DF, tambin cumple
Decir que una df DF + significa que se deriva o es inferible
a partir de las dfs contenidas en DF
El clculo de DF+ suele tener un coste computacional excesivo...

Tema 8. Teora de la normalizacin

28

14

8.2 Dependencias funcionales


Cierre de un conjunto de dependenc. funcionales (2)
... por eso su obtencin sigue los siguientes pasos:
1. Establecer los conjuntos de atributos que son determinantes
(implicantes o parte izquierda) de una df de DF
2. Para cada aplicar los Axiomas de Armstrong para determinar
los atributos que dependen funcionalmente de
El paso 2 es el clculo del cierre de un descriptor sobre un
conjunto de dependencias funcionales DF, denotado por +DF

Tema 8. Teora de la normalizacin

29

8.2 Dependencias funcionales


Cierre de un conjunto de dependenc. funcionales (3)
Clculo del cierre de un descriptor +DF
+ =
REPETIR HASTA QUE + NO CAMBIE
PARA CADA EN DF
SI + Y +
ENTONCES += +
Sea R(A, DF), donde A={a,b,c,g,h,i} y DF={ab, ac, cgh, cgi, bh}
Calcule {ag}+DF
Sea R(A, DF), donde A={a,b,c,d,e,f} y DF={abc, bcad, de, cfb}
Calcule {ab}+DF
Tema 8. Teora de la normalizacin

30

15

8.2 Dependencias funcionales


Cierre de un conjunto de dependenc. funcionales (y 4)
Comprobacin del cumplimiento de una df en DF
La dependencia funcional se cumple en un conjunto DF de
dependencias funcionales si DF +
DF+ si y slo si +DF
Comprobar que se cumple en DF es ver si depende
funcionalmente de con base en las dependencias funcionales de DF
Como +DF contiene todo atributo que depende funcionalmente de con
base en DF, slo habr que comprobar si entre ellos est
Sea R(A, DF), donde A={a,b,c,d,e,f} y DF={abc, bcad, de, cfb}
Compruebe si se cumplen estas dependencias funcionales:
ab d
d a
Tema 8. Teora de la normalizacin

31

8.2 Dependencias funcionales


Determinacin de claves de un esquema de relacin
Hasta ahora hemos estudiado el concepto intuitivo de (super)clave
descriptor que identifica unvocamente cada tupla en una relacin

Definicin formal de clave


un descriptor es clave si todos los atributos de la relacin dependen
funcionalmente de l

Sea R(A, DF), el descriptor K A es clave si (K)+DF = A


Es decir, su cierre es el conjunto completo de atributos de R
Esto asegura que no hay dos tuplas distintas con igual valor para K

Determinacin del conjunto K de (super)claves de R(A, DF)


K=A
PARA CADA EN K (todos los subconjuntos posibles de A)
SI ( K- )+DF = A , ENTONCES K = K -

Tras esto, puede aplicarse el algoritmo siguiente (a partir del paso 3), para
ver cules de las claves encontradas son claves candidatas (mnimas) en R

Tema 8. Teora de la normalizacin

32

16

8.2 Dependencias funcionales


Determinacin de si un descriptor es clave
Algoritmo para determinar si es clave candidata de R(A, DF)
1. CALCULAR +DF
2. SI + DF = A , ENTONCES es superclave,
SI NO, no es clave
3. SI es superclave, ENTONCES
calcular todos los subconjuntos de
REPETIR PARA CADA
SI +DF = A , ENTONCES no es clave
SI ninguna cumple lo anterior, es clave candidata
Sea PRESTAMO (nsocio, nomsocio, codlibro, fecha, editorial, pas),
donde DF={ nsocio nomsocio,
nomsocio nsocio,
Es clave {nomsocio, codlibro}?
codlibro editorial,
editorial pas,
{nsocio,codlibro} fecha}

Tema 8. Teora de la normalizacin

33

8.2 Dependencias funcionales


Equivalencia de dos conjuntos de dependencias
funcionales
Sean DF1 y DF2 conjuntos de dependencias funcionales para R
se dice que DF2 se sigue de DF1, o bien que DF1 recubre a DF2
si cada extensin de R que satisface toda df de DF1, tambin
cumple toda df de DF2, o lo que es lo mismo:
si cada df en DF2 tambin est en DF1+ (puede inferirse de DF 1)
DF1 y DF2 son equivalentes
si DF1 recubre a DF2 y DF2 recubre a DF1
que es lo mismo que decir...

DF 1 y DF 2 son equivalentes si DF 1+ = DF 2+
Tema 8. Teora de la normalizacin

34

17

8.2 Dependencias funcionales


Equivalencia de dos conjuntos de dependencias
funcionales (2)
A menudo las dfs de un esquema R pueden ser presentadas de
varias maneras diferentes, sin que ello signifique cambiar el
conjunto de instancias legales de una relacin con dicho esquema
Esas maneras sern distintos conjuntos de dependencias
funcionales DFi equivalentes entre s
Un ejemplo, (quiz algo tonto pero til) es el siguiente:
DF1={ a b ; b c } es equivalente a DF 2={a b ; b c ; a c }

Ser el conjunto de reglas de inferencia (los axiomas de Armstrong, por


ejemplo) lo que permitir convertir un conjunto de dependencias
funcionales en otro equivalente
Tema 8. Teora de la normalizacin

35

8.2 Dependencias funcionales


Equivalencia de dos conjuntos de dependencias
funcionales (y 3)
Es costoso comprobar que DF1 y DF2 son equivalentes, pues
supone calcular DF1+ y DF2 +
As que suele calcularse as:
1. Comprobar si DF1 recubre a DF2
2. Comprobar si DF2 recubre a DF1
si 1 y 2 tienen como resultado S, entonces DF1 y DF2 son equivalentes
Y para comprobar si DF 1 recubre a DF 2 es necesario ver si toda
df en DF2 tambin est en DF1+, es decir
a. Calcular +DF1 para cada en DF2
b. Ver si +DF1
si todas las df de DF2 cumplen b, entonces DF1 recubre a DF2
Tema 8. Teora de la normalizacin

36

18

8.2 Dependencias funcionales


Recubrimiento cannico o minimal
Conjunto de dependencias funcionales simplificado, DF m
Toda df tiene un solo atributo en la parte derecha
No tiene dependencias funcionales redundantes: no se puede quitar una df
de DFm y obtener un conjunto de dfs equivalente a DFm
No tiene atributos extraos: no se puede quitar un atributo de una df en DFm
y obtener un conjunto de dfs equivalente a DFm

Atributo extrao en una dependencia funcional de DF


Sea una df en DF,
a es un atributo extrao si (
- a) DF+
El atributo a puede ser eliminado sin modificar el cierre de DF

Dependencia funcional redundante de DF


La df es redundante si puede derivarse de G={DF (
)}
es decir, si +G
La df d puede ser eliminada sin modificar el cierre de DF
Tema 8. Teora de la normalizacin

37

8.2 Dependencias funcionales


Recubrimiento cannico o minimal (2)
Es interesante utilizar el recubrimiento minimal de un conjunto de
dependencias funcionales porque...
Toda dependencia funcional es una restriccin de integridad
(semntica). Si no hay dfs redundantes, se minimiza el coste de
mantenimiento de la integridad de la BD sin disminuir la semntica
DFm se utiliza para normalizar una relacin y para calcular las claves,
as que se disminuye el coste de los algoritmos empleados para ello

Dependencia funcional completa


es completa si la parte derecha no depende de ningn
subconjunto de la parte izquierda ( depende de en su conjunto)

Tema 8. Teora de la normalizacin

38

19

8.2 Dependencias funcionales


Recubrimiento cannico o minimal

(3)

0. Transformar toda df del conjunto DF en elemental, es decir:


a. Completa
b. Con un solo atributo en el implicado (parte derecha)
c. No trivial
1. Eliminar atributos extraos
REPETIR PARA CADA b EN DF
L=
REPETIR POR CADA ATRIBUTO a DE
SI b ( - a)+DF ENTONCES L= L - a
REEMPLAZAR b POR L b en DF
2. Eliminar dependencias funcionales redundantes
H = DF
REPETIR PARA CADA b EN DF
G = H - { b}
SI b +G ENTONCES H= G
m
3. DF = H
39

Tema 8. Teora de la normalizacin

8.2 Dependencias funcionales


Recubrimiento cannico o minimal

(y 4)

El orden de los pasos 1 y 2 no puede intercambiarse


Si se intercambian, no siempre se obtiene el recubrimiento minimal
Sea R(A, DF), donde A={a, b, c} y DF={ab c, c b, a b}
Calcule DFm

El recubrimiento minimal DFm no es nico


Sea LIBRO(codlibro, isbn, editorial, pais),
donde DF={codlibro isbn editorial,
isbn codlibro editorial pais,
editorial pais}
Calcule DFm
Sea R(a, b, c),
donde DF={a bc,
b ac,
c ab}
Calcule DFm
Tema 8. Teora de la normalizacin

40

20

8.3 Formas normales


Normalizacin usando dependencias funcionales
Uso de un conjunto de dependencias funcionales para diseo
correcto de esquemas de relacin
Definicin de formas normales que representan buenos diseos
Sea R(A, DF) mal diseado
Contiene redundancias: desperdicio de espacio y posibilidad de propiedades
no deseables (anomalas de actualizacin, etc.)

Ser necesario descomponer R en un conjunto de n esquemas


de relacin
{ Ri (Ai,DFi) } i:1..n
que cumpla las propiedades de
Conservacin de la informacin
Conservacin de las dependencias
Mnima redundancia de datos (normalizacin de relaciones)
41

Tema 8. Teora de la normalizacin

8.3 Formas normales


Normalizacin usando dependencias funcionales

(2)

Sea PRESTAMO(idsuc, ciudsuc, activo, nomcli, numprest, importe),


donde DF={ idsuc activo ciudsuc, numprest importe idsuc nomcli }
La siguiente descomposicin cumple las propiedades anteriores:

SUCURSAL(idsuc, activo, ciudsuc)


PRESTAMO(idsuc, numprest, importe)
CLIENTE(nomcli, numprest)
Las Ri son equivalentes a R, y mejores que R

Al descomponer no se pierde informacin ni dependencias funcionales


Se minimiza (o elimina) la redundancia de datos

Tema 8. Teora de la normalizacin

42

21

8.3 Formas normales


Normalizacin usando dependencias funcionales

(3)

Conservacin de la informacin
La informacin contenida en R(A, DF) debe ser la misma que la
contenida en las Ri(Ai, DFi); para ello, debe conseguirse...
Conservacin de los atributos Ai = A
Conservacin del contenido (tuplas o extensin) *ri = r

r, extensin de R, la reunin natural de extensiones ri de las Ri, ha


de producir la r de origen: reconstruccin de la extensin original
Si no se conserva el contenido, aparecen tuplas falsas

Una descomposicin de reunin con prdida puede no ser


detectada para algunas extensiones
Si al reunir determinadas extensiones de las Ri no se detectan tuplas falsas

Es necesario encontrar una forma de descomponer conservando


siempre la informacin
Descomposicin en proyecciones independientes (se ver)

43

Tema 8. Teora de la normalizacin

8.3 Formas normales


Normalizacin usando dependencias funcionales

(4)

Conservacin de las dependencias funcionales


La descomposicin de R en los Ri debe conservar el conjunto de
dependencias funcionales DF de R,
pues cada dependencia funcional es una restriccin de integridad
que refleja semntica del mundo real

(DFi )+= DF+


El conjunto de dependencias de origen es equivalente a la unin
de los conjuntos de dependencias de los esquemas resultantes
De este modo se consigue que cualquier actualizacin de la base
de datos obtenga siempre una relacin legal (cuya extensin tras
la actualizacin cumple todas las dependencias funcionales dadas)
Tema 8. Teora de la normalizacin

44

22

8.3 Formas normales


Normalizacin usando dependencias funcionales

(5)

Minimizacin de la redundancia
Los Ri deben estar en una forma normal superior a la de R
As se reduce (o elimina) la redundancia
separando los datos en relaciones distintas

y por tanto, se evitan propiedades no deseables


anomalas de actualizacin
incapacidad para representar cierta informacin, ...

Formas normales basadas en dependencias funcionales


1FN
2FN
3FN, FNBC
45

Tema 8. Teora de la normalizacin

8.3 Formas normales


Normalizacin usando dependencias funcionales

(6)

Minimizacin de la redundancia: Primera Forma Normal


R est en 1FN si ningn atributo toma un valor compuesto
(dominio no atmico), ni multivalorado (ms de un valor a la vez)
Inherente al modelo relacional de datos

LIBRO (esquema incorrecto: no est en 1FN)


cdigo
9090
8070

ttulo
Fundamentos de sistemas de bases de datos
Diseo de bases de datos relacionales

LIBRO (esquema en 1FN)


Redundancia

cdigo
9090
9090
8070
8070
8070

ttulo
Fundamentos de sistemas de bases de datos
Fundamentos de sistemas de bases de datos
Diseo de bases de datos relacionales
Diseo de bases de datos relacionales
Diseo de bases de datos relacionales

Tema 8. Teora de la normalizacin

Multivalorado
autor
|
Elmasri , Navathe
de Miguel , Piattini, Marcos

autor |
Elmasri
Navathe
de Miguel
Piattini
Marcos

46

23

8.3 Formas normales


Normalizacin usando dependencias funcionales

(7)

Minimizacin de la redundancia: Segunda Forma Normal


i Un atributo principal es un atributo que forma parte de una clave

R est en 2FN si est en 1FN y cada atributo no principal tiene


dependencia funcional completa respecto de cada clave
Es decir, no existe un atributo no principal que dependa
funcionalmente de parte de una clave
PUBLICA (articulo, revista, nmero, pgina, editorial)
DF={ articulo, revista, nmero pgina,
revista editorial }
PUBLICA no est en 2FN, por qu?

47

Tema 8. Teora de la normalizacin

8.3 Formas normales


Normalizacin usando dependencias funcionales

(8)

Minimizacin de la redundancia: Tercera Forma Normal


q

Varias definiciones equivalentes entre s:

R est en 3FN si todo atributo no principal slo tiene dependencia


funcional respecto de las claves
Ningn atributo no principal depende funcionalmente de otros
atributos no principales
todos los atributos no principales son independientes entre s

No existen dependencias funcionales transitivas respecto de


las claves
Tema 8. Teora de la normalizacin

48

24

8.3 Formas normales


Normalizacin usando dependencias funcionales

(9)

Minimizacin de la redundancia: Tercera Forma Normal (y 2)


Definicin formal
R(A, DF) est en 3FN respecto a DF si para toda dependencia
funcional en DF+ (A, A), se cumple al menos una de las
siguientes condiciones:
es una dependencia funcional trivial, es decir,
es una superclave del esquema R, es decir + = A
Cada atributo a en -
es principal (est contenido en alguna clave
candidata de R)

SOCIO (dni, ciudad, pas)


DF = { dni ciudad, dni pais, ciudad pas }
La relacin SOCIO no est en 3FN, por qu?

49

Tema 8. Teora de la normalizacin

8.3 Formas normales


Normalizacin usando dependencias funcionales

(10)

Minimizacin de redundancia: Forma Normal de Boyce-Codd


i Nota: un determinante es el implicante o parte izquierda de una df

La FNBC es una definicin ms estricta de la 3FN


R(A,DF) est en FNBC respecto a DF si para toda dependencia
funcional en DF+ (A, A) , se cumple al menos una de
estas condiciones:
es una dependencia funcional trivial, es decir,
es una superclave del esquema R, es decir + = A
Es decir, R est en FNBC si todo determinante contiene una clave
Tema 8. Teora de la normalizacin

50

25

8.3 Formas normales


Normalizacin usando dependencias funcionales
Minimizacin de redundancia: FN de Boyce-Codd

(11)

(2)

La FNBC no requiere que todas las claves aparezcan como


determinantes
Si R est en 3FN y slo tiene una clave, o bien
R tiene varias claves pero ninguna de ellas es compuesta, o bien
R tiene varias claves compuestas pero no solapadas,
entonces R est en FNBC
Es decir, si R tiene claves solapadas puede estar en FNBC o puede
no estarlo (vase siguiente ejemplo)

51

Tema 8. Teora de la normalizacin

8.3 Formas normales


Normalizacin usando dependencias funcionales
Minimizacin de redundancia: FN de Boyce-Codd

(12)

(y 3)

ARTICULO1 (codart, ttulo, revista, nmero, pgina)


DF = { codart ttulo,
Un ttulo nunca se repite en una misma revista
titulo codart,
Un artculo puede publicarse en varias revistas
codart revista nmero pgina;
Claves de ARTICULO1:
ttulo revista nmero pgina;
CK1= { revista, nmero, codart }
pgina revista nmero codart, ttulo }
CK2= { revista, nmero, ttulo }
Est en 3FN, pero no en FNBC
CK3= { revista, nmero, pgina }
ARTICULO2 (codart, revista, nmero, pgina)
DF = { codart, revista, nmero pgina;
pgina, revista, nmero codart }
Est en 3FN, y tambin en FNBC
Tema 8. Teora de la normalizacin

Claves de ARTICULO2:
CK1 = { revista, nmero, codart }
CK2 = { revista, nmero, pgina }
52

26

8.3 Formas normales


Normalizacin usando dependencias funcionales( y 13)
Las siguientes afirmaciones son ciertas
Todo esquema R con una clave simple (un solo atributo), est en 2FN
Si en R todos los atributos son principales, R est en 3FN
Todo esquema R con slo 2 atributos est siempre en FNBC
Todo esquema R con 3 atributos y una sola clave compuesta
por 2 atributos, est en FNBC
q Intente comprobar la veracidad de estas afirmaciones!

Lo ms correcto es tener los esquemas de relacin en FNBC, pero


si no es posible, basta con llegar a la 3FN

1FN y 2FN no son buenos diseos sino escalones para llegar a 3FN o FNBC

El proceso de normalizacin disminuye la redundancia


y por tanto el desperdicio de espacio y las propiedades no deseables

... pero penaliza las consultas


pues se necesitarn JOINs, cuyo coste es elevado
Tema 8. Teora de la normalizacin

53

8.4 Enfoques de diseo relacional


Anlisis o descomposicin: diseo descendente
Se parte del esquema de relacin universal R y de su conjunto
de dependencias funcionales, DF
Se descompone R sucesivamente en proyecciones que
conservan
la informacin
las dependencias
Los esquemas resultantes cada vez ...
tienen menos atributos (menor grado)
estn en formas normales ms avanzadas
Fin del proceso ...
Al llegar a la FN deseada, o
Si seguir implica la prdida de dependencias
Separa informacin referente a conceptos distintos
Empleo de rboles de descomposicin
Tema 8. Teora de la normalizacin

54

27

8.4 Enfoques de diseo relacional


Sntesis relacional: diseo ascendente
Obtiene esquemas de relacin a partir de
atributos
dependencias funcionales entre dichos atributos
Agrupa informacin referente a un mismo concepto

Comparacin anlisis vs. sntesis


Semejanzas
Tienen el mismo objetivo
Basadas en los conceptos de dependencias y recubrimiento minimal

Diferencias
La sntesis slo considera dependencias funcionales
El anlisis considera, adems de las dependencias funcionales, las
dependencias multivaloradas y dependencias de reunin o combinacin
Tema 8. Teora de la normalizacin

55

8.4 Enfoques de diseo relacional: Anlisis


Examinar un esquema relacional R para...
1. Determinar su nivel de normalizacin
2. si R no est en 3FN ni en FNBC, descomponer R en proyecciones
sin redundancias ni propiedades no deseables

1. Determinacin del nivel de normalizacin de R


Cmo determinar si un esquema de relacin est en 3FN

a. Encontrar todas las claves para ...


b. Determinar componentes de dichas claves (atributos principales) y
c. Comprobar que ningn atributo no principal, depende
de otro atributo no principal

Cmo determinar si un esquema de relacin est en FNBC

a. Comprobar que todo determinante es clave


-- menor coste computacional
Tema 8. Teora de la normalizacin

56

28

8.4 Enfoques de diseo relacional: Anlisis (2)


2. Descomposicin del esquema R (A, DF)
Si R no est en 3FN ni en FNBC, hemos de sustituirlo por
un conjunto de proyecciones Ri (Ai, DFi)
La descomposicin debe realizarse...

Sin prdida de informacin:


R = R1 *...* Rn , para toda extensin de cualquier relacin r(R)
Sin prdida de dependencias funcionales
( DFi)+ = DF+
Es decir, debe realizarse una descomposicin sin prdidas: con la que se
obtiene proyecciones independientes
Tema 8. Teora de la normalizacin

57

8.4 Enfoques de diseo relacional: Anlisis (3)


Descomposicin en proyecciones independientes
Sea R una relacin y R1, R2 dos de sus proyecciones, entonces
R1 y R2 son independientes si y slo si
Sus atributos comunes son la clave primaria de, al menos, una
de las dos proyecciones
Cada dependencia funcional en R puede deducirse de las
dependencias funcionales de R1 y R 2
PELICULA(titulo, ao, duracin, tipo, estudio, actor), DF={ titulo ao duracin tipo estudio }

Redundancia: se repite todo por cada actor participante en la pelcula


Causa: transformacin de un atributo multivalorado (actor)
No est en FNBC porque (ttulo, ao) no es clave; la clave es (ttulo, ao, actor)
Descomposicin en proyecciones independientes:

R1(ttulo, ao, duracin, tipo, estudio) con DF1={titulo ao duracin tipo estudio}
R2(titulo, ao, actor), con DF2 vaco
Tema 8. Teora de la normalizacin

58

29

8.4 Enfoques de diseo relacional: Anlisis (4)


Descomposicin en proyecciones independientes
Algoritmo de descomposicin

Tomar de DF + no trivial, donde no es superclave


Obtener dos proyecciones de R(A, DF)

R1 (
, , DF1) y R2 (A - , DF2),

otros
R2

R1

donde DF1 y DF2 son conjuntos de dfs sobre R1 y R2 respectivamente


Si R1 (o R2) no est en FNBC, descomponerla de nuevo

Gua en el proceso de descomposicin


en proyecciones independientes:
Utilizar las dependencias funcionales
que violen la FN deseada (FNBC, 3FN)
La descomposicin resultante es de reunin sin prdidas, pero no
siempre preserva las dependencias (caso FNBC)
LIBRO ( A={ codlibro, editorial, pas }, DF={ codlibro editorial, editorial pas } )
Tema 8. Teora de la normalizacin

59

8.4 Enfoques de diseo relacional: Anlisis (5)


Descomposicin en proyecciones independientes
Determinacin de las dependencias funcionales que cumple
cada proyeccin resultante de una descomposicin
Sea R(A, DF) y sea R1(A1, DF1) una de las proyecciones de R, DF1?
Considerar cada descriptor , subconjunto de A1
Calcular +, respecto del conjunto de dependencias DF (#)
Para cada atributo a tal que
a es un atributo de R1 ( a A1 )
a est contenido en + ( a + )
a no est contenido en ( a )
la dependencia funcional a se cumple en R1, es decir (
a) DF1
(#) No es necesario determinar el cierre de ...
todo el conjunto de atributos de R1 (es decir, si = A1)
los que no contengan la parte izquierda de alguna dependencia
los que contengan un atributo que no sea parte izquierda de alguna dependencia
Tema 8. Teora de la normalizacin

60

30

8.4 Enfoques de diseo relacional: Anlisis (6)


Descomposicin en proyecciones independientes
Las dos proyecciones independientes resultantes cumplen uno de
estos principios de descomposicin sin prdidas:
R1 R2 R1 - R2
o bien
R1 R2 R2 - R1
Siempre es posible descomponer una relacin en dos
proyecciones independientes para llegar a la 3FN
Esto no siempre es posible para llegar a la FNBC, pues a veces
se pierde informacin y/o dependencias funcionales
1. PROYECTA(pelcula, cine, ciudad), DF = { pelcula ciudad cine, cine ciudad }
2. NOTA(dniProf, nomProf, dniAlu, calific)
DF= { dniProf nomProf, nomProf dniProf, dniProf dniAlu calific }

Tema 8. Teora de la normalizacin

61

8.4 Enfoques de diseo relacional: Anlisis (7)


Proceso de anlisis o descomposicin de R(A,DF)
1. Determinar el recubrimiento minimal DFm
2. Determinar las claves de R
3. Obtener proyecciones independientes hasta que...
se alcanza la FN deseada o
seguir descomponiendo suponga prdidas
Descomposicin en la FNBC de R(A, DF)

1. Determinar el recubrimiento minimal DFm


2. Determinar las claves de R
3. Obtener proyecciones independientes hasta que todo determinante es
una clave (se ha llegado a la FNBC) o seguir implique prdidas
R(A, DF), donde A= { a, b, c, d, e, f, g } y DFm = { b ac , ed , df }
Tema 8. Teora de la normalizacin

62

31

8.4 Enfoques de diseo relacional: Anlisis (8)


Proceso de anlisis o descomposicin de R(A,DF)
Aplicar el algoritmo al siguiente esquema de relacin para llevarlo a la FNBC
CUENTA (idsuc, ciudsuc, activo, nomcli, codcuenta, saldo)
donde DF={idsuc activo ciudsuc, codcuenta idsuc saldo}
y CK={codcuenta,nomcli}
iteracin 1
R1(idsuc, activo, ciudsuc); DF1={idsuc activo ciudsuc}; CK1={idsuc}
R2(idsuc, nomcli, codcuenta, saldo); DF2={codcuenta idsuc saldo}; CK2={nomcli, codcuenta}
iteracin 2
R1 est en FNBC, pero R2 no, as que se sustituye por
R3(idsuc, codcuenta, saldo); DF3={codcuenta saldo idsuc}; CK3={codcuenta}
R4(nomcli, codcuenta); DF4= ; CK4={nomcli, codcuenta}
iteracin 3
R3 y R4 estn en FNBC
El conjunto de esquemas de relacin resultante es { R1, R3, R4 }, todos en FNBC
Tema 8. Teora de la normalizacin

63

8.4 Enfoques de diseo relacional: Anlisis (y 9)


Proceso de anlisis o descomposicin de R(A,DF)
Aplicar el algoritmo al siguiente esquema de relacin para llevarlo a la FNBC :
BANQUERO_PERSONAL(idsuc, nomcli, nombanquero)
donde DF={nombanquero idsuc, idsuc nomcli nombanquero}
y las claves CKa={idsuc, nomcli} , CKb={nomcli, nombanquero}
iteracin 1
R1(nombanquero, idsuc); DF1{nombanquero idsuc}; CK1={nombanquero}
R2 (nomcli, nombanquero); DF2= ; CK2={nomcli, nombanquero}
iteracin 2
R1 y R2 estn en FNBC
El conjunto de esquemas resultante es { R1, R2 }, todos en FNBC, pero...
slo preserva nombanquero idsuc (adems de las df triviales) y
no conserva idsuc nomcli nombanquero
La violacin de esta df no se detectar, a menos que se calcule la reunin (JOIN)
Tema 8. Teora de la normalizacin

64

32

8.4 Enfoques de diseo relacional: Sntesis


Proceso de sntesis relacional para R(A,DF)
1. Determinar el recubrimiento minimal DFm
2. Agrupar las dependencias funcionales de DFm con el mismo determinante
Es decir, agrupar las A1 , A2...An , para cada antecedente
3. Formar una Ri para cada grupo, con los atributos que aparecen en el grupo y las
dependencias funcionales de DFm con como antecedente
Ri ( A1 ... An) con DFi={ A1, ..., An }
4. Si existen atributos que no aparecen en ningn determinante ni implicado,
formar una Ri con ellos, sin dependencias funcionales asociadas.
5. Si ninguna Ri contiene una clave de la R original, aadir una relacin con los
atributos que forman tal clave de R
Obtiene las Ri en 3FN
Aplicando sntesis, siempre es posible encontrar una descomposicin de
reunin sin prdida que preserve las dependencias y est en 3FN
Tema 8. Teora de la normalizacin

65

8.4 Enfoques de diseo relacional: Sntesis (y 2)


Proceso de sntesis relacional para R(A,DF)
Aplicar sntesis al siguiente esquema de relacin para llevarlo a la 3FN
BANQUERO_PERSONAL(idsuc, nomcli, nombanquero, idoficina)
donde DF={nombanquero idsuc idoficina, idsuc nomcli nombanquero}
y las claves CKa={idsuc, nomcli} , CKb={nomcli, nombanquero}
paso 1. DFm coincide con DF
pasos 2 y 3
R1(nombanquero, idsuc, idoficina); DF1{nombanquero idsuc idoficina}; CK1={nombanquero}
R2 (idsuc, nomcli, nombanquero); DF2= {idsuc nomcli nombanquero}; CK2={idsuc, nomcli}
paso 4
Todos los atributos han sido colocados
paso 5
R2 ya contiene una clave de BANQUERO_PERSONAL , luego el proceso acaba
El conjunto de esquemas resultante es { R1, R2 }, todos estn en 3FN
Tema 8. Teora de la normalizacin

66

33

8.5 Dependencias multivaloradas y 4FN


Es posible que todava exista redundancia en un esquema de
relacin en FNBC
Una dependencia multivalorada, dmv, proviene de dos o ms
atributos multivalorados que son independientes entre s
ESTUDIANTE_RESIDENTE( dni, estudios, actividad)
ACTOR(nomactor, calle, ciudad, titulopeli, aopeli)

La nica forma de expresar la independencia de los conjuntos de


valores ...
estudios vs. actividades de los estudiantes
direcciones de los actores vs. pelculas en las que han participado

... es hacer que

para cada actor, cada direccin aparezca con cada una de las pelculas, y
para cada estudiante, cada valor de estudios aparezca con cada actividad

Las dmv son una consecuencia de la transformacin de una R en la


1FN, cuando existen varios atributos multivalorados e
independientes entre s
Tema 8. Teora de la normalizacin

67

8.5 Dependencias multivaloradas y 4FN


Definicin formal de dependencia multivalorada
Sea el esquema de relacin R(A, D) y dos descriptores y ,
(
multidetermina ) si y slo si,
para cada par de tuplas t1 y t 2 de r(R) tales que t1[
] = t2[
]
es posible encontrar un par de tuplas t3 y t4 en r(R) que cumplen
t1[] = t 2[] = t3[] = t4[]
t3[] = t1[]
y t4[] = t2[]
t3[A- - ] = t2[A- - ] y t4[A- - ] = t 1[A- - ]
Para cada valor de , existen 0 o ms valores de , independientemente de los
valores del resto de atributos (A- - )
Que se verifique slo depende de y de , pero que se cumpla
depende, adems, del resto de los atributos: las dmv dependen del contexto
significa que siempre que aparezcan dos tuplas con distintos
valores de , pero el mismo en , los valores de debern repetirse
con cada valor distinto de A- - que ocurra con dicho valor de
Ejemplo: nombreactor calle, ciudad
Tema 8. Teora de la normalizacin

68

34

8.5 Dependencias multivaloradas y 4FN


Reglas de inferencia para dmvs
Regla de dependencias triviales

Si R cumple entonces cumple


, donde pues se han quitado componentes de que tambin
estaban en

, donde pues se han aadido componentes a que tambin


estaban en , siempre que -

Regla de aumento

Si R cumple y , entonces cumple


Regla de transitividad para dmv

Si R cumple y , entonces cumple -


Regla de replicacin

Si R cumple , entonces cumple


69

Tema 8. Teora de la normalizacin

8.5 Dependencias multivaloradas y 4FN


Reglas de inferencia para dmvs

(y 2).

Dmv trivial

Regla de complemento

Si R cumple , tambin cumple A--


Regla de combinacin para dmv y df

Si R cumple que y / =, y , entonces

Dependencia multivalorada trivial


Sean = {a1, a2... an}, = {b1, b2 ... bm} descriptores de R(A, D),

es una dmv trivial si y slo si cumple


los bi estn entre los ai (es decir ), o bien
todos los atributos de R estn entre los ai y bi (es decir =A)
Ejemplo de dmv no trivial nombreactor calle, ciudad
Tema 8. Teora de la normalizacin

70

35

8.5 Dependencias multivaloradas y 4FN


Cuarta forma normal
Es una generalizacin de la FNBC, que elimina las dmv no triviales
R(A, D) est en 4FN si para toda dmv no trivial ,
se cumple que es una superclave de R

Descomposicin en la 4FN
Si R no est en 4FN, por contener una dmv , donde no
contiene una clave de R, se debe dividir R en dos esquemas:
R1, con todos los atributos de y los de
R2, con todos los atributos de y el resto de atributos A--
N Asignar adecuadamente a cada Ri las dependencias funcionales y multivaloradas

Cumple los principios de descomposicin sin prdidas puesto que


y A--
R1(nombreactor, calle, ciudad)
R2(nombreactor, titulopeli, aopeli)

Tema 8. Teora de la normalizacin

71

36

You might also like