Академический Документы
Профессиональный Документы
Культура Документы
Tema 7 (parte 1)
Teora de la
Normalizacin
Francisco Ruiz
abr-2001
documentacin preparada con ayuda de Esperanza Marcos (Universidad Rey Juan Carlos) y Mario Piattini
(Universidad de Castilla-La Mancha)
UCLM-ESI (F.Ruiz)
Tema 7 (parte 1)
Teora de la
Normalizacin
Complementar con:
* captulos 4, 5 y 6 del libro Diseo de Bases de Datos
Relacionales. De Miguel, A.; Piattini, M.; Marcos, E.; Ra-Ma, 1999.
UCLM-ESI (F.Ruiz)
BDa - 7
Objetivos
UCLM-ESI (F.Ruiz)
BDa - 7
Referencias
Principales:
[de Miguel et al, 1999]
Caps 4, 5 y 6
De Miguel, A.; Piattini, M.; Marcos, E.; Diseo de Bases de Datos
Relacionales. Ra-Ma, 1999.
Otras:
-
UCLM-ESI (F.Ruiz)
BDa - 7
ndice (1)
1.
2.
3.
4.
5.
6.
UCLM-ESI (F.Ruiz)
BDa - 7
Dependencias:
son propiedades inherentes al contenido semntico de los datos;
son un tipo especial de restriccin de usuario en el modelo relacional, que
afecta nicamente a los atributos dentro de una nica relacin; y
se han de cumplir para cualquier extensin de un esquema de relacin.
UCLM-ESI (F.Ruiz)
BDa - 7
UCLM-ESI (F.Ruiz)
BDa - 7
DC
DJ
DM
D F (D ependencias Funcionales)
C om o caso particular de:
D M (D ependencias M ultivaluadas)
C om o caso particular de:
D J (D ependencias Jerrquicas)
C om o caso particular de:
D C (D ependencias de C om binacin)
DF
UCLM-ESI (F.Ruiz)
BDa - 7
2. Dependencias funcionales
Definicin de DF:
Sea el esquema de relacin R(A, DF) y sean X e Y dos descriptores
(subconjuntos de atributos de A). Se dice que existe una DF entre X e Y,
de forma que X determina a Y, si y slo si se cumple que para
cualesquiera dos tuplas de R, u y v tales que u[X] = v[X], entonces
necesariamente u[Y] = v[Y].
Esto significa que a cada valor x del atributo X, le corresponde un nico
valor y del atributo Y.
Determinante:
Un determinante o implicante es un conjunto de atributos del que
depende funcionalmente otro conjunto de atributos al que llamamos
determinado o implicado.
Ejemplo:
El cdigo de estudiante determina el nombre del mismo:
Cd_Estudiante Nombre
UCLM-ESI (F.Ruiz)
BDa - 7
2. Dependencias funcionales
Descriptores equivalentes:
Dos descriptores X e Y se dice que son equivalentes si
XY YX
tambin se puede representar como:
X Y
Ejemplo:
Los atributos Cd_Estudiante y DNI son equivalentes (se supone que
dos alumnos distintos no pueden tener ni el mismo cdigo ni el mismo
DNI), es decir:
Cd_Estudiante DNI
UCLM-ESI (F.Ruiz)
BDa - 7
10
2. Dependencias funcionales
Cd _Estudiante
Nombre_Est, Direccin
Fecha, Nota
Cd _Curso
UCLM-ESI (F.Ruiz)
Nombre,
Num _Horas,
Cd _Programa
BDa - 7
11
2. Dependencias funcionales
2.1 DF plena
Ejemplo: en la relacin
Atributo extrao: son los atributos del determinante de una DF que hacen que sta
no sea plena. Tambin se llaman ajenos o extraos. Ejemplo segn la figura T11:
La DF Cd_Estudiante, Cd_Curso Cd_Programa
Es no plena y Cd_Estudiante es un atributo ajeno.
UCLM-ESI (F.Ruiz)
BDa - 7
12
2. Dependencias funcionales
DF trivial:
Una DF X Y es trivial si Y es un subconjunto de X (Y X).
Ejemplo: las siguientes DF son triviales:
Cd_Estudiante Cd_Estudiante
Cd_Curso, Cd_Edicin Cd_Curso
DF elemental:
Decimos que una DF X Y es elemental si
BDa - 7
13
2. Dependencias funcionales
2.4 DF transitiva
DF transitiva estricta:
Es cuando adems de las condiciones anteriores, tambin se cumple que
Z Y
UCLM-ESI (F.Ruiz)
BDa - 7
14
2. Dependencias funcionales
2.4 DF transitiva
Ejemplo de DF transitiva:
Dada la relacin
CURSO_PROGRAMA(Cd_Curso, Cd_Programa, Cd_Departamento)
BDa - 7
15
Ejemplo:
donde:
se cumple que
DF |= DNI_Est, Cd_Beca Fecha_Solicitud
UCLM-ESI (F.Ruiz)
BDa - 7
16
UCLM-ESI (F.Ruiz)
BDa - 7
17
UCLM-ESI (F.Ruiz)
BDa - 7
18
Axiomas Bsicos
A1: Reflexividad
Si Y X, X Y
(X Y es una DF trivial)
A2: Aumentatividad
Si X Y y Z W, entonces XW YZ
A3: Transitividad
Si X Y e Y Z, entonces X Z
Axiomas Derivados
D1: Proyectividad
Si X Y, entonces X Y si Y Y
D2: Unin a aditividad
Si X Y y X Z, entonces X YZ
D3: Pseudotransitividad
Si X Y e YW Z, entonces XW Z
UCLM-ESI (F.Ruiz)
BDa - 7
19
Ejemplo de aplicacin:
1.
A B (dada)
2.
3.
C D (dada)
4.
D E (dada)
5.
C E (transitividad de 3 y 4)
6.
C DE (unin de 3 y 5)
7.
8.
AC ABCDE (transitividad de 2 y 7)
UCLM-ESI (F.Ruiz)
BDa - 7
20
UCLM-ESI (F.Ruiz)
BDa - 7
21
4.1 Superclave
Ejemplo:
BDa - 7
22
Ejemplo:
BDa - 7
23
UCLM-ESI (F.Ruiz)
BDa - 7
24
UCLM-ESI (F.Ruiz)
BDa - 7
25
UCLM-ESI (F.Ruiz)
BDa - 7
26
iteracin 0
iteracin 1
iteracin 2
UCLM-ESI (F.Ruiz)
BDa - 7
27
Ejemplo:
Dado el conjunto de dependencias funcionales anterior (T27),
comprobar si la dependencia NE C se deriva de DF.
1. Se calcula el cierre de NE:
NE+ = NE, CE, C
2. Como C est en el cierre de NE, se cumple que
NE C pertenece a DF+ y por tanto, se deriva de DF
UCLM-ESI (F.Ruiz)
BDa - 7
28
UCLM-ESI (F.Ruiz)
BDa - 7
29
Algoritmo:
1. Si para toda dependencia X Y de DF2 se cumple
Y X+DF1
significa que toda dependencia de DF2 est en DF1 y, por tanto, DF1 es
un recubrimiento de DF2.
BDa - 7
30
Ejemplo:
UCLM-ESI (F.Ruiz)
BDa - 7
31
UCLM-ESI (F.Ruiz)
BDa - 7
32
UCLM-ESI (F.Ruiz)
BDa - 7
33
Por ambas razones, debe ser un objetivo de diseo conseguir que el nmero
de dependencias y el nmero atributos involucrados sean mnimos.
UCLM-ESI (F.Ruiz)
BDa - 7
34
UCLM-ESI (F.Ruiz)
BDa - 7
35
2.
Si X es una superclave:
Si (X | (XX) (X+DF = A) ) X no es una clave candidata
en caso contrario X es una clave candidata
UCLM-ESI (F.Ruiz)
BDa - 7
36
UCLM-ESI (F.Ruiz)
BDa - 7
37
BDa - 7
38
UCLM-ESI (F.Ruiz)
BDa - 7
39
UCLM-ESI (F.Ruiz)
BDa - 7
40
UCLM-ESI (F.Ruiz)
BDa - 7
41