You are on page 1of 57

NORMALIZACIÓN DE DATOS

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 1


Diseño Relacional
• El diseño de una BD Relacional puede
abordarse de dos formas distintas:
– Obteniendo el esquema relacional
directamente:
Objetos y reglas captadas del análisis del
mundo real, representadas por un conjunto
de esquemas de relación, sus atributos y
restricciones de integridad.
– Realizando el diseño del esquema
"conceptual" de la BD (modelo E/R) y
transformándolo a esquema relacional.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 2
Ejemplo de diseño inadecuado

• Redundancia de información: ciudad, distancia


(ciudad); precio (artículo).
• Anomalías de modificación: !podemos tener el mismo
artículo con dos precios! (igual argumento para ciudad y
distancia).  inconsistencias
• Anomalías de inserción: ¿Podemos registrar nuevo
artículo?, ¿Nuevo cliente?, ¿Nueva ciudad, distancia?
• Anomalías de borrado: Si eliminamos tupla de pedido
de artículo A3 o cliente C4  pérdida de información.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 3


Ejemplo de diseño inadecuado

• Redundancia de información:
– datos repetidos
– desperdicio de espacio, actualización complicada

• Mal diseño:
– anomalías, redundancia e inconsistencias de la
información
– imposibilidad para representar cierta información
– pérdida de información

• Normalización
– conversión de una relación con ciertos problemas
a dos o más relaciones que no tienen tales
problemas
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 4
Principio básico de diseño:

• "hechos distintos se deben


almacenar en objetos
distintos"

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 5


Teoría de Normalización

• Técnica formal de análisis y organización de


datos; trata de evitar la redundancia y
anomalías de actualización.
– Introduce formalización en el diseño lógico de las
Bases de Datos Relacionales.
– Además permite mecanizar parte del proceso al
disponer de instrumentos algorítmicos de ayuda
al diseño.
– Proceso de normalización: disminuye las
anomalías de actualización, pero penaliza las
consultas (combinación consume muchos
recursos).

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 6


Formas normales
• Un esquema de relación está en una determinada forma
normal si satisface un determinado conjunto específico
de restricciones definidas sobre los atributos del esquema
(dependencias).
– 1ª FN (Codd, 1970)
• Concepto de relación normalizada.
– 2ª, 3ª FN (Codd, 1970), FNBC (Boyce/Codd,
1974)
• Basadas en análisis de dependencias funcionales.
– 4ª FN. Fagin, 1977
• Basada en análisis de dependencias multivaluadas.
– 5ª FN. Fagin, 1979
• Basada en análisis de dependencias de proyección /
combinación.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 7
Formas normales

Relaciones en 2ªFN

Relaciones en 3ªFN

Relaciones en FNBC

Relaciones en 4ªFN

Relaciones en 5ªFN

Relaciones normalizadas

Relaciones
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 8
Dependencias
• Restricciones de integridad impuestas por el
usuario.
• Propiedades inherentes al contenido semántico de
los datos.
• Se han de cumplir para cualquier extensión del
esquema de una relación.

 No se pueden demostrar, pero sí afirmar por


observación del mini mundo a representar.
 Del análisis de la extensión de un esquema
relacional sólo podremos deducir que no existe una
determinada dependencia.
 Si una dependencia es cierta para un determinado
esquema de relación, una extensión no será
válida si no la cumple.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 9
Dependencia funcional

• Sean A y B atributos de una misma


tabla o relación R. Se dice que B es
funcionalmente dependiente de A y se
denota A B si todo posible valor de A
tiene asociado un único valor de B,
o lo que es lo mismo, en todas las tuplas
de r(R) en las que el atributo A toma el
mismo valor “v1”, el atributo B toma
también un mismo valor “v2”.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 10


Dependencia funcional
Definición
• Sean X e Y subconjuntos de A (A, conjunto de
atributos de R).
Decimos que X determina o implica a Y en R
(equivale a Y depende funcionalmente de X)
si para dos tuplas cualesquiera de r(R) que tengan
iguales valores en X, también son iguales los valores
en Y.
• Se representa por X  Y

• Def: Sean R(A:D), X  A, Y  A. X  Y si


 r(R),  ti,tj  r(R), [x (ti)=x(tj)  y(ti) = y(tj)]
( t1, t2  r (t1[X] = t2[X]  t1[Y] = t2[Y] )

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 11


Diagrama de dependencias
funcionales
• Ejemplo: R ( A, DF ).
R: pedidos
A: {artículo, cliente, cantidad, precio, ciudad, distancia}.
DF: ({artículo,cliente}  {cantidad,precio,ciudad, distancia},
artículo  precio,
cliente  {ciudad, distancia},
ciudad  distancia )

Diagrama de
Dependencias
Funcionales

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 12


Dependencia funcional plena o
completa
• Sea X (conjunto de atributos). Se dice que Y tiene
dependencia funcional plena o completa de X,
– si depende funcionalmente de X
– pero no depende de ningún subconjunto del
mismo
• X Y sii  X'  X | X'  Y (X determina
completamente "" a Y si y solo si no existe un
subconjunto X' de X tal que ese subconjunto X'
determine funcionalmente a Y)
• P.e. (artículo, cliente)  cantidad es una DF
completa, pero
• (artículo, cliente)  precio no es una DF
completa puesto que artículo  precio;
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 13
Dependencia funcional transitiva

• Si XY, Y-/X, YZ entonces Z


depende transitivamente de X (X--Z)
• Por ejemplo:
– Cliente  ciudad,
– ciudad -/ cliente (no determina
funcionalmente), y
– cliente  distancia,
– por tanto, ciudad --- distancia
– (cliente determina “transitivamente” a
distancia).
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 14
Normalización de un esquema
de BD Relacional

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 15


Segunda Forma Normal (2ªFN).
• Un esquema de relación R(A,DF) está en 2ª FN si y
sólo si
– está en 1ª FN (es decir, si la relación está normalizada)
– y sus atributos no primarios dependen completamente de
la clave primaria de R.
(atributos no primarios: que no formen parte de la clave
primaria).
• Si una relación R no está en 2ª FN, se puede
normalizar descomponiendo esa relación en:
– Una relación con los atributos de clave primaria, más los
atributos con dependencia completa de ella.
– Una relación para cada "parte" de la clave primaria, más los
atributos que dependan funcionalmente de esa parte.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 16


Descomposición a 2ª FN
(informal)
• Ejemplo: PEDIDOS se descompone en:
PEDIDOS'({artículo,cliente, cantidad},
{[artículo,cliente]  cantidad})
ARTICULOS ({artículo, precio}, {artículo  precio} )
CLIENTES({cliente,ciudad,distancia},
{clienteciudad,ciudaddistancia})

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 17


Tercera Forma Normal (3ªFN)
• Un esquema de relación R(A,DF) está en 3ª FN si y
sólo si
– está en 2ª FN y
– ninguno de sus atributos no primarios depende
transitivamente de la clave primaria de R.
• Es decir no hay DF transitivas.
• Descomposición informal: Si una relación no está
en 3ª FN, y tenemos los conjuntos de atributos X,Y,Z
tales que XY, YZ (por tanto X --- Z ):
– Una relación formada por la clave primaria (X) más
los atributos que dependen directamente de ella.
– Una relación para los atributos de Y y Z.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 18


Descomposición a 3ª FN
(informal)

• Ejemplo: CLIENTES se descompone en:

CLIENTES' ({cliente, ciudad}, {cliente  ciudad})


CIUDADES ({ciudad, distancia}, {ciudad distancia})

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 19


Implicación lógica de DFs.
• Dado un esquema relacional R, una dependencia
funcional df de R está implicada lógicamente por
un conjunto de dependencias DF de R si cada
ejemplar de la relación r(R) que satisface DF
también satisface df.
• R({ABCGHI}, {AB, AC, CGH, CGI, BH}
¿ AH ?
Si t1[A]=t2[A], AB  t1[B]=t2[B], BH  t1[H]=t2[H]  AH
• Cierre (clausura) de DF: Dado un conjunto de
dependencias funcionales DF, llamaremos cierre de
DF, y lo representaremos por DF+, al conjunto de
todas las dependencias funcionales posibles que
implicadas lógicamente en DF.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 20


Reglas de inferencia de DFs
• Dado un conjunto DF de dependencias funcionales, podemos probar
que se cumplen otras ciertas dependencias funcionales inferidas de
DF.
• "Axiomas" de Armstrong:
Sea R (A:D); X ,Y, Z, W subconjuntos de A.
Se verifica:
1) Reflexividad. Si X, conjunto de atributos, Y  X, entonces se
verifica que X  Y.
2) Aumentatividad. Si X  Y, Z conjunto de atributos, entonces se
verifica que XZ  YZ.
(XY es lo mismo que X  Y, unión)
3) Transitividad. Si X  Y e Y  Z, entonces se verifica que X  Z.
– Estas reglas forman un sistema completo de reglas de inferencia,
porque dado DF permiten calcular DF+
– Son correctas (seguras) puesto que no generan dependencias
funcionales incorrectas.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 21


Otras reglas
• A partir de ellas, se pueden deducir otra serie de
propiedades interesantes:
4) Unión.
Si XY y X Z, entonces X  YZ.
{(XY), (XZ) [aumento] (XX  XY), (XY ZY)
[trans] (X YZ)}
5) Pseudotransitividad.
Si XY y WYZ, entonces WXZ.
{ (XY) [aumento] (WXWY) [trans, WYZ]
(WXZ)}
6) Descomposición.
Si XY y ZY, entonces XZ.
{ (ZY) [reflex] (YZ) [trans, XY] (XZ) }

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 22


Ej. axiomas:
• R({A,B,C,D,E},{A  B, C  D, D  E})
• ¿ AC  ABCDE ?

1. A B (dada)
2. AC  ABC (aumento, 1, AC)
3. CD (dada)
4. DE (dada)
5. C E (transitividad, 3, 4)
6. C  DE (union, 3, 5)
7. ABC  ABCDE (aumento, 6, ABC)
8. AC  ABCDE (transitividad, 2, 7)

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 23


Cierre de un descriptor
• X+ : Conjunto de todos los atributos determinados
funcionalmente por un descriptor X en DF. (XX+)
• Algoritmo de Cierre de un descriptor respecto a un DF:
• Entrada: R, DF. (suponemos que los atributos de partida son
todos los contenidos en DF y R es un subconjunto de ellos)
• Salida: R+
• Proceso:
1) R+ := R
2) Repetir (hasta que no se añadan más atributos a R+):
2.1) Para cada X  Y en DF:
Si X  R+ e Y  R+ entonces R+ := R+  Y
• [Comentarios:
1. R  R ;
2.  X  R+, R+  X (reflexiva);
si XY, entonces R+Y (transitiva);
por tanto, Y puede ser incluido en R+ (unión) ]
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 24
Ejemplo cierre de un
descriptor
• R(A,B,C,G,H,I), (AB, AC, CGH, CGI, BH}
• ¿(AG)+?
1) AG  AG
2) Repetir
2.1) Primer “Para cada”
21a. A  B, B  AG  AG  AGB
21b. A  C, C  AGB  AG  AGBC
21c. CG  H, H  AGBC  AG  AGBCH
21d. CG  I, I  AGBCH  AG  AGBCHI
21e. B  H, H  AGBCHI  nada
Segundo…
21a,21b,21c,21d,21e  nada
No se añaden más atributos => Fin Repetir
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 25
Aplicaciones de cierres
• Dado DF, comprobar si una dependencia funcional
XY se halla en DF+
– Si X X+, Y  X+  XY  DF+ (descomposición)
• Comprobar superclaves
– Definición de Superclave: Dado R(A, DF), se denomina
superclave SK de R a un subconjunto no vacío de A tal que
SK  A sea derivable de DF;
• SK ≠  , SK  A  DF+
• Comprobaremos si SK+ en DF contiene todos los
atributos de R.
– Definición de clave candidata: Dado R(A, DF), se
denomina clave K de R a un subconjunto no vacío de A que
sea superclave y no exista ningún subconjunto estricto K' de
K tal que K' A ;
• K ≠   KA DF+    K' K | K‘  A

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 26


Aplicaciones de cierres
• Dado R(A,DF), Cálculo de DF+
– Para cada Y  A,
• Se obtiene Y+ en DF
• Para cada Z  Y+ se genera una dependencia funcional YZ

• Equivalencia de dos conjuntos de dependencias:


Dos conjuntos de dependencias funcionales DF1 y DF2 son
equivalentes si, y sólo si, DF1+ = DF2+
– (todas las dependencias de DF2 son inferibles de DF1 y
viceversa).
– Si para toda XY  DF2 se cumple Y  X+ en DF1 y
recíprocamente, para toda ZWDF1 se cumple WZ+ en
DF2, entonces DF1 y DF2 son equivalentes.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 27


Recubrimiento minimal
• Las dependencias funcionales son restricciones de
integridad que deben ser comprobadas en caso de
actualización. Interesa minimizar este conjunto de
restricciones.
• Un recubrimiento minimal DFm es un conjunto de
dependencias equivalente a DF.

• De entre todos los conjuntos equivalentes interesan


aquellos conjuntos de dependencias elementales que
cumplen la propiedad de no contener ninguna
dependencia redundante (e.d. ninguna
dependencia que se pueda deducir del resto
aplicando los axiomas de Armstrong), ni atributos
extraños.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 28
Recubrimiento minimal

• Dependencia redundante:
– una dependencia d DF es redundante si se
puede derivar de {DF - d} mediante la aplicación
de los axiomas de Armstrong.

• Atributo extraño (raro):


– Dada X Y  DF, a  X se dice que es un
atributo extraño (ajeno) en la dependencia si la
dependencia (X-a) Y  DF+.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 29


Algoritmo para obtener un
Recubrimiento minimal:
• Entrada: F, Conjunto de dependencias funcionales elementales
(plenas, no triviales, único atributo en implicado).
• Salida: H, recubrimiento minimal de F.
• Proceso: (X,L: descriptores (conjuntos de atributos); A,B: atributos)
1. Eliminación de atributos extraños:
1.1. Repetir para cada X  B  F :
1.1.1. L := X
1.1.2. Repetir para cada A  X:
Si B  (L - A)+F entonces L := L - A
1.1.3. DF := DF - ( X  B ) + ( L  B )
2. Eliminación de dependencias redundantes:
2.1. H := F
2.2. Repetir para cada X  A  DF:
G := H - ( XA)
Si A  X+G entonces H := G
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 30
Técnicas principales para el
Diseño Relacional
• Diseño del esquema conceptual en un
modelo de datos de alto nivel (como
el ER) y su posterior transformación
en un conjunto de relaciones.
– En esta técnica podemos aplicar
informalmente los principios de
normalización comentados (evitar
dependencias parciales o transitivas), tanto
durante la fase de diseño conceptual, como
posteriormente al conjunto de relaciones
obtenidas mediante el proceso de
transformación.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 31
Técnicas principales para el
Diseño Relacional
• Considerar el diseño de la BD relacional estrictamente en
términos de dependencias (funcionales y de otros tipos que
veremos) entre los atributos de la BD.
– Este proceso es denominado algunas veces como síntesis
relacional, puesto que los esquemas de relación son
“sintetizados” mediante el adecuado agrupamiento de atributos.
– Cada esquema de relación representaría a un grupo de atributos
lógicamente coherente y poseería las ventajas asociadas con la
normalización (no redundancia, no anomalías, ...).
– Durante el proceso de normalización descompondremos un
determinado esquema de relación que no esté en una
determinada forma normal en múltiples esquemas de
relación hasta un diseño final con relaciones en las que se
hubiese alcanzado la forma normal deseada.
– Caso extremo (descomposición estricta):
• comenzamos sintetizando un único esquema de relación (relación
universal), que incluye todos los atributos de la BD.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 32


Objetivos de la normalización.
• Dado un conjunto A de atributos y el conjunto DF de
dependencias existentes entre ellos, R(A, DF), se
trata de transformar este esquema origen en un
conjunto de n esquemas de relación {Ri (Ai, DFi)},
1 i  n [esquemas resultantes], equivalentes y
mejores que R:

a) Conservación de la información.
b) Conservación de dependencias.
c) Mínima redundancia de los datos (mayor
grado de normalización).
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 33
a. Conservación de la información:
a.1. Conservación de atributos: el conjunto de n
atributos de los esquemas resultantes ha de
ser igual al conjunto de atributos del esquema UA
i 1
i = A
origen.
a.2. Conservación del contenido (tuplas): para
toda extensión r de R, la reunión natural

* 
n
(r) r
(natural join, * ) de las relaciones resultantes
tiene que producir la relación origen. Ri
i= 1
– (nota: * operador de reunión natural,  operador
de proyección)

Si la descomposición no cumple esta propiedad, e.d. no es una


descomposición y reunión sin pérdidas (de información),
cuando se aplica la operación de reunión natural a las
relaciones resultantes, aparecen tuplas espúreas en la relación
resultado

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 34


Descomposición y Reunión
con pérdida
LIBROS
COD-LIBRO
9030
EDITORIAL
RAMA
PAIS
ESPAÑA

9040 RAMA ESPAÑA
BROS_NUEVA
9110 PARANINFO ESPAÑA COD-LIBRO PAIS
9234 ANAYA ESPAÑA 9030 ESPAÑA
9567 ADDISON EE.UU. 9040 ESPAÑA
9110 ESPAÑA
9234 ESPAÑA
 *
9567 EE.UU.
COD-LIBRO EDITORIAL PAIS
9030 RAMA ESPAÑA
9030 PARANINFO ESPAÑA
EDITORIAL PAIS 9030 ANAYA ESPAÑA
RAMA ESPAÑA 9040 RAMA ESPAÑA
RAMA ESPAÑA
9040 PARANINFO ESPAÑA
PARANINFO ESPAÑA
ANAYA ESPAÑA 9040 ANAYA ESPAÑA
ADDISON EE.UU. 9110 RAMA ESPAÑA
9110 PARANINFO ESPAÑA
9110 ANAYA ESPAÑA
9234 RAMA ESPAÑA
9234 PANANINFO ESPAÑA
9234 ANAYA ESPAÑA
9567 ADDISON EE.UU.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 35


Descomposición y Reunión
Sin Pérdida

• Propiedad RSP1: Sea R un esquema de relación y


DF un conjunto de dependencias funcionales de R.
R1 y R2 forman una descomposición de R que tiene
la propiedad de reunión sin pérdida (lossless join)
si por lo menos una de las dependencias
funcionales siguientes está en DF+:
– R1  R2  R1 - R2
– R1  R2  R2 - R1

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 36


Descomposición y Reunión
Sin Pérdida
• Propiedad RSP2:
Si una descomposición D = {R1, R2,..., Rm} de R tiene la
propiedad de reunión sin pérdida con respecto al conjunto
de dependencias funcionales DF sobre R,
y si una descomposición D1 = {Q1, Q2, ..., Qk} de Ri tiene la
propiedad de reunión sin pérdida con respecto a la
“proyección de DF sobre Ri”, entonces la descomposición
D2 = {R1, R2, ..., Ri-1 , Q1,.Q2, ..., Q k , Ri+1 , ..., Rm} de R
es una descomposición reunión sin pérdida respecto a DF.

– “restricción / proyección de DF sobre Ri ” : subconjunto de las


dependencias funcionales X  Y en DF+ tales que los atributos en X U
Y están todos contenidos en Ri )

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 37


b. Conservación de dependencias.

• Sea DF un conjunto de dependencias


funcionales sobre R y sea D = {R1, R2, ..., Rn}
una descomposición de R.
La restricción (proyección) de DF sobre Ri es
el conjunto DFi de todas las dependencias de
DF+ que incluyen únicamente atributos de Ri.
Sea DF' = DF1  DF2 ...  DFn un conjunto
de dependencias funcionales en R.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 38
Forma Normal de Boyce y Codd
(FNBC).

• Un esquema de relación R(A,DF) está en


FNBC
si  X  Y  DF+ no trivial (Y  X),
se verifica que X es superclave de R.
(X+ = A)

• Un diseño de BD está en FNBC si cada


esquema de relación de la BD está en FNBC.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 39
Algoritmo de descomposición:
a. Tomaremos una X  Y  DF+ no trivial y X no superclave.
– Siempre será posible puesto que R no está en FNBC, e.d. existe
al menos una dependencia funcional X  Y, tal que X no
superclave. Si X, Y no disjuntos, tomaríamos X  (Y-X) (por
axiomas de Armstrong).
b. Obtendremos dos proyecciones S(XY, DFs) y T((A-Y), DFt).
(DFs, DFt restricciones de DF sobre S y T).
– Como X  Y  DF+ y sus atributos son los de S, también es
aplicable a S; por aumento XXY, es decir X superclave (no
viola condición para que S esté en FNBC).
c. Si S o T no están en FNBC, las descomponemos.
– Llegará un momento en que, o bien no hay dependencias cuyo
antecedente no sea superclave (es decir, tablas en FNBC),
– o se llega a una relación binaria indescomponible la cual estará
en FNBC (puesto que si V(A1,A2) no en FNBC, quiere decir que
hay una dependencia A1A2, no trivial con antecedente no
superclave: imposible, pues por Ax.A A1A1A2).
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 40
Algoritmo FNBC:
resultado := {R}; listo := falso;
(Calcular DF+;)
Mientras (no listo) hacer:
Si ( Ri  resultado | Ri no en FNBC )
Sea (XY en Ri, no trivial | X  Ri DF+ y XY=  )
resultado:=(resultado - Ri)  ( Ri - Y)  ( XY );
si no listo:=verdadero;

 Por el procedimiento seguido, la descomposición es de reunión


sin pérdida (reversible por reunión natural, propiedades RSP1 y
RSP2).
 No puede asegurarse en general que se hayan preservado las
dependencias.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 41
Tercera Forma Normal (3ª FN).
• Definiciones generales,

– atributo primo: atributo que forma parte de una clave


candidata.

– Un esquema de relación R está en 2ª FN si está en 1ª


FN y todo atributo no primo A de R depende
funcionalmente de manera completa de toda clave
candidata de R.

– Un esquema de relación R está en 3ª FN si está en 2ª


FN y ningún atributo no primo depende transitivamente
de alguna clave candidata de R.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 42
Tercera Forma Normal (3ª FN).
• Redefinición de 3ª FN: Un esquema de relación R(A,DF)
está en 3ª FN si  X  Y  DF+ se verifica alguna de las
siguientes condiciones:
– X  Y trivial.
– X es superclave de R.
FNBC 
– X no es superclave y cada atributo A  (Y - X) está contenido en
una clave candidata de R.

• Un diseño de BD está en 3ª FN si cada esquema de


relación de la BD está en 3ª FN.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 43


Ejemplo: 3ª FN y FNBC
• imparte (estudiante, curso, profesor)
– DF: (1) estudiante, curso  profesor; E
(2) profesor  curso
– K: { (estudiante, curso), (estudiante, profesor)}
C P
– No en FNBC pues antecedentes de (2) no es superclave,
– pero si en 3ª FN pues los consecuentes son atributos
primos.
• Descomposición a FNBC por profesor  curso:
Imparte R-(Y) XY
ESTUD CURSO PROF ESTUD PROF PROF CURSO
Díaz Bases de Datos Roberto Díaz Roberto Alberto Redes
Fernández Bases de Datos Gonzalo Fernández Gonzalo Alonso Redes
Fernández Redes Alberto Fernández Alberto Fulgencio Algoritmia
Fernández Algoritmia Fulgencio Fernández Fulgencio Gonzalo Bases de Datos
García Bases de Datos Marcos García Marcos Marcos Bases de Datos
García Redes Alonso García Alonso Roberto Bases de Datos
López Bases de Datos Marcos López Marcos
Rueda Bases de Datos Gonzalo Rueda Gonzalo

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 44


Algoritmo de síntesis
(descomposición de R a 3ª FN):
a. Reemplazar X A1A2 ... An por X  A1, X  A2, ... X An en DF
b. Calcular DFm recubrimiento mínimo de DF;
c. Creamos un esquema de relación { X  A1 ...  An} para cada
conjunto de dependencias en DFm con el mismo antecedente X.
X  A1, X  A2, ... X An son todas las dependencias en Dfm con X
como antecedente.
X será la clave de esta relación.
d. Si quedan atributos de R sin colocar en ningún esquema de relación:
creamos un nuevo esquema de relación con todos ellos.
e. Si ningún esquema de relación contiene una clave de R
Creamos un esquema de relación para los atributos de cualquier clave
de R

 Cada Ri en 3ª FN pues se parte de DFm (eliminando parciales y transitivas).


 Asegura la conservación de dependencias construye una relación por cada una.
 Garantiza que la descomposición es de reunión sin pérdida pues al menos un
esquema contiene una clave candidata de la relación que se descompone.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 45


Otras dependencias
• Dependencias funcionales: el tipo de dependencia
más importante en la teoría de diseño de bases de
datos relacionales.
• Sin embargo, en muchos casos las relaciones
tienen restricciones que no pueden ser expresadas
mediante dependencias funcionales.
• En los siguientes puntos, trataremos estos tipos
adicionales de dependencias que pueden ser
usados para representar otros tipos de restricciones
sobre relaciones.
• Estas dependencias nos conducirán a formas
normales más avanzadas
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 46
Dependencias multivaluadas
• Consecuencia de la 1ª forma normal, la cual no permite que
un atributo en una tupla tome un conjunto de valores.
• Si tenemos dos o más atributos multivaluados
independientes (no directamente relacionados) en un mismo
esquema de relación, tendremos que repetir cada valor de
un atributo con cada valor de los otros atributos para
conservar la instancia de la relación consistente.
AUTORES (no normalizada)
AUTOR MATERIA INSTITUCION
DATE LENGUAJE SQL RELATIONAL INST.
DISEÑO DE BD CODD&DATE CONS.
ULLMAN DISEÑO DE BD STANFORD UNIV.
BASES CONOCIMIENTO

AUTORES (NORMALIZADA)
AUTOR MATERIA INSTITUCION
DATE LENGUAJE SQL RELATIONAL INST
DATE DISEÑO DE BD RELATIONAL INST
DATE LENGUAJE SQL CODD&DATE CONS
DATE DISEÑO DE BD CODD&DATE CONS.
ULLMAN DISEÑO DE BD STANFORD UNIV.
ULLMAN BASES CONOCIMIENTO STANFORD UNIV.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 47
Dependencias multivaluadas
• Definición: Dada la relación R(A), se cumple que X ↠ Y
(X multidetermina a Y, X e Y descriptores, subconjuntos de A)
si para cada valor de X hay un conjunto de cero o más valores de Y,
independientemente de los valores de los atributos (A-XY).
• Dado R(A), X ↠ Y en R si y sólo si
 u, v  r(R) tales que u[X]=v[X] , u[Y]  v[Y] , u[A-X-Y]  v[A-X-Y]
 t, w  r(R) tales que
u[X] = v[X] = t[X] = w[X]  u[Y] = t[Y]  v[Y] = w[Y]
 u[A-XY] = w[A-XY]  v[A-XY] = t[A-XY]
• Por simetría, X ↠ (A-XY), e.d. X ↠ Y | Z (Z= A-XY).
AUTOR MATERIA INSTITUCION
DATE LENGUAJE SQL RELATIONAL INST u
DATE DISEÑO DE BD CODD&DATE CONS v
DATE LENGUAJE SQL CODD&DATE CONS t
DATE DISEÑO DE BD RELATIONAL INST. w
ULLMAN DISEÑO DE BD STANFORD UNIV.
ULLMAN BASES CONOCIMIENTO STANFORD UNIV.
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 48
Dependencias multivaluadas
 Para cada valor de X, existe un conjunto de cero (0) o más
valores de Y, independientemente de los valores del resto
de atributos (A-XY)
 Que se verifique X → Y sólo depende de X y de Y, pero que
se cumpla X ↠ Y depende, además, del resto de los
atributos (las dmv dependen del contexto)
 X ↠ Y significa que siempre que aparezcan dos tuplas con
distintos valores de Y, pero el mismo valor en X, los valores
de Y deberán repetirse con cada valor distinto de A-XY que
ocurra con dicho valor de X
• Dependencias Multivaluadas Triviales
si X = Y, Y  X, X  Y = A

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 49


Reglas de Inferencia
• R1. Reflexiva DF’s : Si Y  X ent. X→Y
• R2. Aumento DF’s : X→Y |= XZ → YZ
• R3. Transitiva DF’s : X → Y, Y → Z |= X→Z
• R4. Complemento DMV’s : X↠Y |= X ↠(A - (X  Y))
• R5. Aumento DMV’s : X ↠ Y, W  Z |= WX ↠
YZ
• R6. Transitiva DMV’s : X ↠ Y, Y ↠ Z |= X ↠ (Z - Y)
• R7. Replicación DF’s y DMV’s : X → Y |= X↠Y
• R8. Coalescencia DF’s y DMV’s :
Si X ↠ Y y  W tal que WY= y WZ e Y  Z entonces X → Z

• (R7 : DF caso especial de DMV, pues satisface la definición formal de


DMV. Una DF es una DMV con la restricción adicional de que como
máximo 1 valor de Y esté asociado a un valor de X).
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 50
Cuarta Forma Normal (4ª FN)
• R(A, DEP) está en 4ª FN si y sólo si
para toda dependencia no trivial X ↠ Y  DEP+,
el antecedente X es superclave de R.

• Descomposición sin pérdida de R en R1, R2 si:


(R1  R2) ↠ (R1 - R2)
(simetría : (R1R2) ↠ (R2 - R1)

• [Teorema (Fagin, 77):


R(A,B,C) se puede descomponer (reunión sin pérdida) en R1(A,B), R2(A,
C) si y sólo si A ↠ B | C en R ]

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 51


Descomposición a 4ª FN de una
relación R

a. Resultado= {R}
b. Mientras que  Q en Resultado, Q no en
4ª FN
b1. Encuentre X ↠ Y en Q, no trivial, X no
superclave
b2. Reemplace Q por (Q - Y) y (X  Y)

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 52


Dependencias de Combinación

• Las DF y DMV analizadas, permiten la


descomposición sin pérdida de una
relación en dos de sus proyecciones.
• Sin embargo, existen relaciones donde
no se puede llevar a cabo una
descomposición binaria sin perdida.
• Aun no existiendo DF ni DMV pueden
existir redundancias y anomalías.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 53


Dependencias de Combinación
SPJ
S# P# J#
S1 P1 J2
S1 P2 J1
S2 P1 J1
S1 P1 J1

SP PJ JS
S# P# P# J# J# S#
S1 P1 P1 J2 J2 S1
S1 P2 P2 J1 J1 S1
S2 P1 P1 J1 J1 S2

SP * PJ
S# P# J#
S1 P1 J2 (SP * PJ) * JS  SPJ original
S1 P2 J1
S2 P1 J1
S2 P1 J2 tupla espúrea
S1 P1 J1
 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 54
Dependencia de Reunión
• Sea R(A), X1, X2, ..., Xn, conjuntos de atributos de A. A la condición de
que la descomposición de R proyectando sobre X1, X2, ..., Xn sea
reversible por reunión la llamaremos Dependencia de reunión: DR (X1,
X2, ..., Xn)

• En un esquema de relación R(A) se cumple la DC (X1, X2, ..., Xn )


si toda extensión r(R) se puede construir combinando proyecciones
sobre X1,...,Xn :
r =  R1 [r] * ... *  Rn [r] (necesariamente (X1...Xn)=A)

• La DR será trivial si algún Xi = A.

• [ DR(X1,X2) puede escribirse también como X ↠Y|Z, donde X=X1 X2,


Y=X1-X2, Z=X2-X1. Por tanto, las DMV pueden considerarse como un
caso particular de las de reunión cuando n=2.]

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 55


Dependencia de Reunión
• Sea DC (R1,R2,R3) entonces
<a1,b1,c1> R sii <a1,b1>  R1, <b1,c1>  R2, <c1,a1>  R3
• Es decir, si <a1,b1,c> R,<a,b1,c1> R,<a1,b,c1>  R
entonces también <a1,b1,c1>  R.
[Cuando un suministrador S suministra el componente P, el
proyecto J usa el componente P y el suministrador S
suministra al menos un componente al proyecto J,
entonces S también suministrará P a J]

SPJ
S# P# J# Las dos últimas tuplas deben
S1
S1
P1
P2
J1
J2 de existir en SPJ para que se
S2
S3
P2
P3
J1
J2
cumpla la DR(SP,PJ,JS).
S2 P1 J3
S1 P2 J1 DEBE EXISTIR
S2 P1 J1 DEBE EXISTIR

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 56


Quinta Forma Normal (5ª FN)
• Un esquema de relación estará en 5ª FN con respecto al
conjunto de dependencias F (DF, DMV, DC) si en cada
dependencia de reunión DR(R1,...,Rn) no trivial en F+,
cada Ri es una superclave de R.

• La dificultad de la 5ª FN está en la identificación de


las dependencias de combinación, las cuales no
tienen una interpretación intuitiva.

• Ejemplo SPJ: La clave de SPJ será (S#,P#,J#).


Tenemos la DC (SP, PJ, JS), en donde ningún Ri es
una superclave (contiene la clave) de SPJ. Por
tanto SPJ no está en 5ª FN.

 2006Universidad de Las Américas - Escuela de Ingeniería - Bases de Datos - Erik Sacre 57

You might also like