recopilacion de varios organismos de normalizacion .Descripción completa
Descripción completa
Elaborado por: Dr. Rómulo DominguezDescripción completa
Es un buen libro
fsefFull description
Algoritmos de Normalización. Bernstein
El algortimo de Bernstein nos permite de una manera estructurada, normalizar las relaciones.
Situación inicial: Relación Universal y conjunto de DFs expresado en el mundo real U = [ { A, B, C, …….. Z}, { A
B, A
B, … BC
Z}]
Descomposición: Reconocimiento de la existencia de un patrón con el objetivo de dividir una relación entre dos o más relaciones normalizadas.
Pasos del algoritmo: 1. Encontrar los hechos acerca del mundo real.
Análisis del
sistema. Entidades y Relaciones. 2. Reducir la lista de dependencias funcionales (DFs). Mínima cobertura no redundante. 3. Encontrar las llaves de la relación universal U y no de la relación en 3FN que se genera. 4. Combinar DFs con el mismo lado izquierdo.
Descripción de cada paso: PASO 1. Encontrar atributos y conjuntos DFs. PASO 2.
a.
Lado derecho de dependencias funcionales mínimo. Si: A
b.
B, C
A
B
A
C
hacemos lado derecho mínimo
Algoritmo X-Closure Encuentra los atributos que dependen de A, dado un grupo de atributos. 1.
Sea X(0) = 0
2.
Si existe una DF
A
B cuyo lado izquierdo está
contenido en X(N), pero cuyo lado derecho (B), no está contenido en X(N); entonces, añada B a X(N) para obtener X(N+1). Es decir X(N+1) es la unión X(N) y B. 3.
Incremente N y repita el punto 2 hasta que no se pueda añadir ningún atributo a X(N).
b.1 DFs redundantes.
Tomar DFs una a una. Cada DF es de tipo X
Y donde
X y Y son ambos conjuntos de atributos.
Obtenga una lista reducida de dependencias quitando a X Y encuentre el closure de X en la lista reducida. Si dicho closure contiene a Y, entonces X
Y es
redundante y puede ser eliminada. b.2 Lado Izquierdo Mínimo. Encontrar DFs Completas.
Eliminar uno de los atributos A en el lado izquierdo de una de las dependencias, quedando el residuo R.
Encuentre el closure de R en el conjunto reducido de dependencias si el closure contiene el lado derecho de A B, entonces el atributo A puede ser eliminado.
Realice los puntos 1 y 2 para cada atributo en lado izquierdo de cada dependencia.
PASO 3. Definición: Una llave de una relación es una colección de atributos X los cuales: a. Funcionalmente determinan todos los atributos en la relación. b. No existe un subconjunto que cumpla con esta propiedad.
Procedimiento: 1. Use el algoritmo X-Closure para determinar si todos los atributos de una relación son funcionalmente dependiente de un set de atributos X. 2. Si el set X tiene más de un atributo, asegúrese que ningún subconjunto de X tiene la propiedad definida en el punto 1. Use el algoritmo X-Closure con subset de X eliminando un atributo a la vez.
Observaciones que facilitan el proceso: 1. Si un atributo no aparece en el lado izquierdo de una DF, el mismo no está en ninguna llave, a menos que tampoco aparece en el lado derecho. (El atributo no depende de otro(s) atributos por lo tanto es una llave por si mismo). 2. Si un atributo nunca aparece en el lado derecho de una DF, entonces debe estar en cada llave.
Paso 4.
1. Combinar dependencias con el mismo lado izquierdo. X
Y X
Z por consiguiente X
Y, Z.
2. Obtenga una relación por cada DF, conteniendo todos los atributos de ambos lados de la DF. Si alguna llave de la relación original está incluida en las relaciones, añada una relación con todos los atributos de una de esas llaves (la más completa). 3. Si alguna relación contiene todos los atributos de otra relación, entonces elimine la más pequeña de las dos. Nota: Descomposición sin pérdida y preservación de dependencia son garantizadas.