Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplo 1
Ejemplo 2
Solución:
- De cada área donde los policías pueden realizar guardias se conoce su código
(cod_área) y para cada área su dirección (dir) y descripción (desc_area). La DF quedaría
como sigue:
cod_área --> dir, desc_area
- Para que los policías descansen en la noche de guardia existen diferentes albergues de los
cuales se conoce un número que es único (#_al), su nombre (nom_al) y su descripción
(desc_al). La DF quedaría como sigue:
- Los policías no tienen albergue fijo donde dormir, pero se sabe que un policía en una
fecha (fecha) determinada realiza guardia en una sola área y duerme en un único
albergue. La DF quedaría como sigue:
cod_pol, fecha --> cod_area, #_al
Una llave es un conjunto de atributos que determinan a todos los atributos de la Relación
universal, ocurriendo que si se quita uno de esos atributos ya no se cumple que se
determinen todos los atributos de la Relación. Si al quitar uno de los atributos de la llave,
se siguen determinando todos los atributos de la relación, es que se estaba en presencia
de una superllave, o lo que es lo mismo, una llave no mínima; ese atributo no forma parte
de la llave primaria. Si un esquema tiene más de una llave, todas son llaves candidatas.
Sólo una de las llaves candidatas se designa como llave primaria.
Hay dos tipos especiales de atributos que se deben tener en cuenta: Atributo primo: aquel
atributo que es miembro de cualquier llave candidata de R. Son aquellos atributos que
aparecen en las relaciones como determinantes (a la izquierda de una DF) y nunca como
determinados (nunca a la derecha). Estos atributos forman parte de toda llave candidata
que se encuentre. Atributo no primo: aquel atributo que no es miembro de ninguna llave
candidata. Aquellos atributos que siempre son determinados y nunca determinantes (no
aparecen a la izquierda de ninguna DF). No forman parte de ninguna llave.
Una forma de determinar las llaves candidatas es utilizando el algoritmo de cierre de un
conjunto de atributos.
Cierre de un conjunto de atributos. La nomenclatura para representar el conjunto cierre es
X+
Algoritmo para calcular X+
Leyenda:
R – Relación Universal
DF – Conjunto de las Dependencias Funcionales
X – un atributo o conjunto de atributos de R
Entrada: R, DF, X
Salida: X+
Método: Temp := X Mientras haya cambios en Temp hacer: Buscar en DF si existe una
dependencia I->D tal que I Temp y D Temp, entonces Temp:=Temp U D
Explicando el algoritmo:
- La condición inicial es tener una lista de atributos con el valor del conjunto de atributos
al que se le quiere determinar el cierre.
Normalizando Bases de Datos
Los atributos que nunca están en partes derechas de las DFs siempre tienen que estar
en las llaves candidatas.
- (cod_pol, fecha)+ = {R} cod_pol, fecha
son llave primaria
Como cod_ pol y fecha tienen que formar parte de la llave y generan a toda R, entonces
no hay que probar otras combinaciones pues serían superllaves.
En caso contrario probar combinaciones que los incluyan.
R (cod_pol, fecha, nomp, cod_mun, nom_mun, cant_hab, cod_area, dir, desc_area, #_al,
nom_al, desc_al)
Una relación R se dice que está en 2FN si está en 1FN y si, y sólo si, los atributos no
llaves (ni primarias, ni candidatas) de R, si los hubiese, son funcional y completamente
dependientes de la llave primaria de R. Este segundo paso se aplica sólo con relación a
llaves compuestas. Continuando con el ejemplo
R no se encuentra en 2da FN ya que existen dependencias parciales en la relación, estas
son:
cod_pol --> nomp, cod_mun, nom_mun, cant_hab
- Llevando a 2da FN a R, aparece una nueva relación que será R1 con los atributos que
no dependen totalmente de la llave primaria:
En R1
cod_mun --> nom_mun, cant_hab
En R
cod_area --> dir, desc_area
#_al --> nom_al, desc_al
R1 (cod_pol, cod_mun)
DF: cod_pol --> nomp, cod_mun
Solución:
Y → U}
Los atributos que nunca están en partes derechas de las DFs siempre tienen que estar
en las llaves candidatas.
(P, M)+ = {R} P, M son llave primaria
b) Como P y M tienen que formar parte de la llave y generan a toda R, entonces no hay
que probar otras combinaciones pues serían superllaves.
R (P, M, Q, V, Y, Z, T, X, S, U}
R se encuentra en 1era FN ya que todos sus atributos tienen valores atómicos. No se encuentra
en la forma normal superior (2da FN) porque existen dependencias parciales de la llave primaria.
Estas son:
P --> Q, Y, Z, U
M --> T, V, X, S
R1 (P, Q, Y, Z, U)
DF: P→ Q
DF: Q→ Y, Z
DF: Y→ U
R2 (M, T, V, X, S)
DF: M→ T, V
DF: T→X, S
R (P, M)
En R1
Q→ Y, Z
Y→ U
En R2
T→X, S
Normalizando Bases de Datos
R2 (M, T, V)
DF: M→T, V
R3 (Q, Y, Z)
DF: Q→ Y, Z
R4 (Y, U)
DF: Y→U
R5 (T, X, S)
DF: T→X, S
R (P, M)