Professional Documents
Culture Documents
Normalización
Modelo
Relaciones
Normalización Relacional
(datos)
Propiedades
Normalización
Es un proceso que comprueba que cada tabla
cumple con determinadas condiciones
Garantiza la no redundancia de información y la
coherencia con la representación del universo del
discurso
Permite solucionar errores de diseño para
mejorarlos.
Se realiza para evitar: pérdida de información,
redundancia entre los datos, pérdida de
dependencias funcionales.
EJEMPLO DE DISEÑO
INADECUADO
Dependencias
Las dependencias son propiedades
inherentes al contenido semántico de
los datos
son un tipo especial de restricción de
usuario en el modelo relacional, que
afecta únicamente a los atributos
dentro de una única relación y;
Se debe cumplir para cualquier
extensión de un esquema de relación
Dependencias
Un esquema de relación es un par de la
forma:
A: conjunto de atributos de la relación
R(A,DEP) DEP: conjunto de dependencias existentes entre
los atributos
DC
DF(dependencia funcional)
DJ como caso particular de:
DM DM(dependencia Multivaluada)
como caso particular de:
DF DJ(Dependencia Jerárquica)
como caso particular de:
DC(Dependencia de combinación)
DEPENDENCIA FUNCIONAL
Sea R(A,DF), y sean X, Y dos subconjuntos de A, a los que
llamamos descriptores. Se dice que Y depende
funcionalmente de X o que X implica o determina a Y, se
denota como X Y sí, y solo sí, a cada valor de x del
atributo X, le corresponde un único valor de y del atributo Y.
Ejemplo:
Descriptores equivalentes
Ejemplo:
Ejemplo:
sucursal(nombre_sucursal,ciudad_sucursal,activo)
nombre_sucursal ciudad_sucursal, activo
nombre_sucursal activo
Nota
EMP_PROYECTO
(CI, CodPry, horas, nombre_Emp, nombre_Pry,
localización_Pry)
EJERCICIOS
Dependencia Funcional plena y
completa
Se dice que Y tiene dependencia
funcional completa o plena de X, si
depende funcionalmente de X, pero no
depende de ningún subconjunto de
éste.
Dependencia funcional trivial
se_dicta
N:1
N
pertenece :
1
Implicación Lógica
El conocimiento de ciertas dependencias funcionales nos puede
llevar a inferir otras que no se encontraban en el conjunto inicial.
Dada la R(A,DF) se puede deducir nuevas dependencias que sean:
consecuencia lógica del conjunto de partida (DF │= f)
derivación (DF │─ f): obtención de nuevas dependencias a
partir de la aplicación de reglas.
CIERRE (DF+) : es el conjunto de todas las dependencias que son
consecuencias lógicas de DF.
Axiomas de Armstrong
Axiomas de Armstrong son el conjunto completo de reglas
deductivas que nos permite deducir cualquier otra
dependencia cierta (teorema de la teoría ) .
1. Conservación de la información
2. Conservación de las dependencias
3. Mínima redundancia de los datos
(normalización de las relaciones)
TEORÍA FORMAL . . .
Si se cumplen las dos primeras
propiedades, entonces:
{ Ri } es equivalente a R
{ Ri } es “mejor” que R
Conservación de la información
Para que se cumpla esta propiedad son
precisas dos condiciones:
a) Conservación de los atributos
n
U Ai = A
i=1
n
( U DFi )+ = DF+
i=1
FORMAS NORMALES
COOD(1970): Propuso inicialmente tres formas
normales basadas en las dependencias funcionales:
1FN, 2FN, 3FN
SOLUCIÓN
TERCERA FORMA NORMAL
Se basa en el concepto de dependencia transitiva
Definición 1:
Está en 2FN
No existe ningún atributo no principal que depende
transitivamente de alguna clave R.
Afirmaciones
La 3FN no se cumple cuando existen atributos no
principales que dependan funcionalmente de otros no
principales.
Toda relación binaria se encuentra automáticamente en
3FN
Toda relación con atributos principales o con un único
atributo no principal está en 3FN.
Ejemplo:
R({c, e, a, b, d, f}, DF)
DF={ c, e b; c, e d; b a, d f}
Solución:
FNBC (Forma Normal de Boyce –
Codd)
Una relación está en BCNF:
Si está en 3FN
Si y solo sí, todo determinante es una clave
candidata
FNBC . . .
Ejemplo 1
R({a,b,c},DF) DF={a, b c
c b}
b: es determinante pero no es clave candidata,
porque no determina c. Entonces R no está
en FNBC.
R1( a, c) DF={a c}
R2( c, b) DF={c b}
FNBC . . .
Ejemplo 2:
R({a,b,c,d},DF) DF={a ↔ b
a, c d}
R1(a,b) DF1: {a ↔ b}
R2(a, c, d) DF2: {a, c d}