Вы находитесь на странице: 1из 9

Dependencias Funcionales

O RGANIZACI ÓN DE A RCHIVOS Y BASE DE DATOS I

L ICENCIATURA EN C IENCIAS DE LA C OMPUTACI ÓN

U NIVERSIDAD NACIONAL DE S AN L UIS

A ÑO 2006

El presente apunte no constituye un desarrollo completo de los temas tratados, sino una sı́nte-
sis de los temas esenciales para ordenar ideas. En consecuencia, es absolutamente imprescindible
que el alumno revise la bibliografı́a recomendada.

1. Introducción

Vimos que las relaciones pueden usarse como modelos del ”mundo real”. En muchos casos, conocer hechos acerca del mundo
real que estamos modelizando es útil para lograr un buen diseño del esquema de la Base de Datos. Estos hechos del mundo
real implican que no todo conjunto de tuplas conforman una instancia válida del esquema de relación, aún cuando los valores
de las tuplas hayan sido tomados de los dominios correctos. Por ejemplo, si tenemos el esquema:
Empleados={ DNI, Nombre, Edad, Antiguedad }

la siguiente instancia no es válida:

emp :
DNI Nombre Edad Antiguedad
18564789 Juan Pérez 355 10
15322444 Pedro Lucero 47 5
10564789 Sandra Sosa 50 20
15322444 José Casas 25 20
26147896 Marı́a Molina 20 30

Podemos distinguir dos tipos de restricciones sobre las relaciones:

Restricciones que dependen de la semántica del dominio. Estas restricciones surgen de comprender el significado de las
componentes de las tuplas. En el ejemplo anterior, Juan Pérez no puede tener 355 años y Marı́a Molina no puede tener
30 años de antiguedad cuando sólo tiene 20 años de edad. Conocer estas restricciones no ayudan a lograr un buen diseño
de la base de datos, pero es necesario considerarlas para que el DBMS chequee los errores que posiblemente ocurrirán
en el momento de cargar los datos.
Restricciones que dependen de la igualdad o desigualdad de valores. Estas restricciones no dependen de qué valor tiene
una tupla en una componente dada, sino que se basan en que dos tuplas coinciden en ciertas componentes. En el ejemplo

1
anterior, no puede suceder que Pedro Lucero y José Casas tengan el mismo valor en el campo DNI, más allá de cuál
sea ese valor. Estas restricciones se conocen con el nombre de dependencias. Existen distintos tipos de dependencias:
funcionales, multivaluadas, de inclusión y de producto (join). Cada tipo de dependencia es un caso particular de la
que le sigue.

Si deseamos disponer de métodos algorı́tmicos eficientes para el diseño de una base de datos relacional debemos primero
estudiar y resolver problemas relacionados con la manipulación de dependencias entre los datos. Comenzaremos analizando
las dependencias funcionales.

2. Dependencias Funcionales

La dependencia funcional es una extensión del concepto de función para n dominios. Informalmente, una dependencia fun-
cional ocurre cuando el valor de una tupla sobre un conjunto de atributos X determina univocamente el valor de otro conjunto
de atributos Y . Esto significa que, si existen dos tuplas que coincidan en los valores para X, entonces deben coincidir en los
valores para Y .

Definición: Sea R un esquema de relación, y sean X, Y ⊆ R. Decimos que X determina funcionalmente a Y o


que Y depende funcionalmente de X y lo denotamos con X → Y , si y sólo si para cualquier instancia r no existen
dos tuplas que coincidan en X y no coincidan en Y . En sı́mbolos:

X → Y ≡∀
b tiempo T, ∀ instancia rT , ∀ui , uj ∈ rT : ΠX (ui ) = ΠX (uj ) ⇒ ΠY (ui ) = ΠY (uj )

Notar la similitud de esta definición con la definición de función. Las diferencias radican en que la aplicamos a más de un
atributo, y que debemos considerar en la definición el tiempo, porque nuestras relaciones (a diferencia de las relaciones que
manejamos en matemática) cambian con el tiempo.

Ejemplos:

En el esquema R={ DNI, Nombre, Categorı́a, Sueldo}, donde el atributo Sueldo representa el sueldo básico, se cumple la
dependencia Categorı́a → Sueldo, dado que todos los empleados de la misma categorı́a tiene el mismo sueldo básico. Por lo
tanto, si existen dos tuplas que coincidan en el valor del atributo Categorı́a, también deben coincidir en el valor del atributo
Sueldo.

Si suponemos que un empleado no puede tener cargos en distintas categorı́as, en este esquema también se cumple que DN I →
N ombre, Categorı́a, Sueldo dado que no pueden existir dos empleados distintos con el mismo DN I.


Es sumamente importante notar que no podemos deducir a partir de una instancia r qué dependencias funcionales se
cumplen en R. Las dependencias funcionales representan restricciones de la realidad. Por consiguiente, la única manera de
determinar las dependencias funcionales que se cumplen en un esquema R es analizando cuidadosamente las restric-
ciones de la realidad que estamos representando.

Las dependencias funcionales son afirmaciones del ”mundo real”que nos dicen qué instancias son válidas para un esquema R.
No pueden ser probadas pero deben ser forzadas por el DBMS.

Puede suceder que en R no se cumpla una dependencia X → Y , pero que en alguna instancia válida sı́ se verifique. Por
ejemplo, si tenemos el esquema: Empleados={ DNI, Nombre, Categorı́a, Sueldo } y la siguiente instancia:

emp :
DNI Nombre Categorı́a Sueldo
18564789 Juan Pérez A $1500
15322444 Pedro Lucero B $890
10564789 Sandra Sosa A $1500

OA y BDI - UNSL -Prof. Norma Herrera 2


Si bien en el esquema Empleados no se satisface la dependencia N ombre → DN I 1 , esta instancia particular sı́ la satisface.

Definición:
Diremos que una instancia r satisface la dependencia X → Y , y lo denotamos con r sat X → Y , si y sólo si:
∀t1 , t2 ∈ r : ΠX (t1 ) = ΠX (t2 ) ⇒ ΠY (t1 ) = ΠY (t2 )

Notar que si r es una instancia de un esquema R en el que se cumple la dependencia X → Y , entonces r necesariamente
satisface la dependencia X → Y . Sin embargo, si X → Y no se cumple en R, entonces r puede o no satisfacer X → Y .

E JERCICIO : DEFINA DEPENDENCIA FUNCIONAL USANDO ESTE CONCEPTO

3. Implicación Lógica

Como mencionamos en el punto anterior, dado un esquema de relación R, para poder deducir las dependencias funcionales
que se cumplen en R necesitamos analizar la realidad que R modeliza, es decir conocer la semántica de los atributos de R.
Denotaremos con F al conjunto de dependencias funcionales válidas en un esquema R.

Supongamos que hemos establecido el conjunto F para un esquema R. ¿Podemos asegurar que las dependencias en F son las
únicas que se cumplen en R ? Generalmente no.

Ejemplo:

En el esquema R = {DN I, Categorı́a, Sueldo}, vimos que F = {DN I → Categorı́a, Categorı́a → Sueldo}. Pero en
este esquema también se cumple que Sueldo → Sueldo y que DN I → Sueldo. La primera es trivial; la segunda no lo es,
pero su demostración es sencilla.

Vamos a demostrar que toda instancia r que satisface F , también satisface DN I → Sueldo. Haremos la demostración por el
absurdo. Supongamos que existe una instancia r tal que r sat F y r no sat DN I → Sueldo. Si r no sat DN I → Sueldo
entonces:
∃t1 , t2 ∈ r tal que ΠDN I (t1 ) = ΠDN I (t2 ) ∧ ΠSueldo (t1 ) 6= ΠSUeldo (t2 )

Por hipótesis DN I → Categorı́a, luego


∃t1 , t2 ∈ r tal que ΠCategorı́a (t1 ) = ΠCategorı́a (t2 ) ∧ ΠSueldo (t1 ) 6= ΠSueldo (t2 )

Por hipótesis Categorı́a → Sueldo, entonces


∃t1 , t2 ∈ r tal que ΠSueldo (t1 ) = ΠSueldo (t2 ) ∧ ΠSueldo (t1 ) 6= ΠSueldo (t2 ) Absurdo!

El ejemplo anterior nos muestra que el conocimiento de ciertas dependencias funcionales nos puede llevar a inferir la existencia
de otras que no se encontraban en el conjunto inicial porque no eran evidentes cuando se analizó la realidad. Estas nuevas
dependencias que podemos inferir a partir de un conjunto F se conocen con el nombre de consecuencias lógicas.

Definición: Sea R un esquema de relación, F un conjunto de dependencias funcionales de R y X, Y ⊆ R.


Diremos que F implica lógicamente X → Y , o que X → Y es una consecuencia lógica de F, y lo denotamos
con F |= X → Y , si toda instancia r de R que satisface las dependencias en F también satisface X → Y .

Definición: Sea F un conjunto de dependencias funcionales. La clausura de F , denotada con F + , es el conjunto


de dependencias implicadas lógicamente por F :
F + = {X → Y /F |= X → Y }

Notar que F ⊆ F + .
1 Por qué podemos asegurar esto?

OA y BDI - UNSL -Prof. Norma Herrera 3


4. Claves

Vimos que en el esquema R={ DNI, Nombre, Categorı́a, Sueldo} se cumple, entre otras, la dependencia
DN I → N ombre, Categorı́a, Sueldo. Esto significa que no pueden existir dos tuplas con el mismo valor para DN I; en
consecuencia DN I determina de forma unı́voca y no ambigua al empleado.

El concepto anterior se conoce con el nombre de clave. Informalmente, la clave de un esquema es aquel conjunto de atributos
que determina unı́vocamente todo el esquema.

Definición: Sea R un esquema de relación, F un conjunto de dependencias funcionales y X ⊆ R. Decimos que


X es clave de R si y sólo si X es un conjunto minimal de atributos que determina funcionalmente todos los
atributos en R, es decir :
(1) X → R ∈ F +
(2) No existe Y ⊂ X, tal que Y → R ∈ F + (X es minimal)

Puede suceder que exista más de una clave para un esquema R. En estos casos, suele designarse a una de ellas como clave
primaria. El término clave candidata lo usaremos para aquellas claves que no han sido designadas como primarias.

Cuando un conjunto de atributos X satisface la condición (1) pero no la condición de minimalidad, diremos que X es una
superclave.

Llamaremos atributos primos a todos aquellos que participan en alguna clave, y atributos no primos a aquellos que no parti-
cipan en ninguna clave.

5. Derivación de Dependencias Funcionales

Para determinar claves, y comprender implicaciones lógicas entre dependencias funcionales, necesitamos poder determinar
si una dependencia X → Y está en F + . Sin embargo, las definiciones de implicación lógica y clausura del conjunto de
dependencias no nos proveen de un método eficiente para poder realizar estos cálculos.

Necesit4amos un conjunto completo y consistente de reglas de derivación, que faciliten el cálculo de implicaciones lógicas.
Esto significa que toda implicación lógica pueda obtenerse por medio de estas reglas de derivación (completitud), y que todo
lo obtenido por medio de estas reglas sea una implicación lógica (consistencia).

Este conjunto de reglas, conocido con el nombre de Axiomas de Armstrong, nos permitirán derivar dependencias a partir de
un conjunto inicial F dado.

Axiomas de Armstrong
Sea R un esquema de relación, F un conjunto de dependencias funcionales y X, Y, Z ⊆ R

A1 - Reflexividad: Si Y ⊆ X, entonces X → Y .
A2 - Aumentación: Si X → Y entonces XZ → Y Z.
A3- Transitividad: Si X → Y y Y → Z entonces X → Z.

OA y BDI - UNSL -Prof. Norma Herrera 4


TEOREMA
Los axiomas de Armstrong son consistentes y completos

Demostración

Sólo veremos la demostración de consistencia. Para demostrar la consistencia de los axiomas, debemos ver que cada uno de
ellos produce una dependencia funcional que es una consecuencia lógica.

A1. Reflexividad:
Debemos demostrar que si Y ⊆ X y r es una instancia válida de R, entonces r sat X → Y .
Como Y ⊆ X, entonces existe Z ⊆ R tal que X = Y Z 2 .
Sea t1 , t2 ∈ r tales que ΠX (t1 ) = ΠX (t2 ). Luego, por propiedades de la proyección:

ΠY (t1 ) = ΠY (t2 ) ∧ ΠZ (t1 ) = ΠZ (t2 )

de donde podemos deducir que ΠY (t1 ) = ΠY (t2 ). Luego r sat X → Y

A2. Aumentación :
Haremos la demostración por el absurdo.
Sea Z ⊆ R y r es una instancia válida de R, tal que r sat X → Y y r no sat XZ → Y Z.
Si r no sat XZ → Y Z entonces existen t1 , t2 ∈ r tal que:

ΠXZ (t1 ) = ΠXZ (t2 ) ∧ ΠY Z (t1 ) 6= ΠY Z (t2 )

Luego, por propiedades de la proyeccción, tenemos que:

ΠX (t1 ) = ΠX (t2 ) ∧ ΠZ (t1 ) = ΠZ (t2 ) ∧ [ΠY (t1 ) 6= ΠY (t2 ) ∨ ΠZ (t1 ) 6= ΠZ (t2 )]

Si aplicamos propiedad distributiva del ∧ respecto de ∨, obtenemos que:

[ΠX (t1 ) = ΠX (t2 ) ∧ ΠZ (t1 ) = ΠZ (t2 ) ∧ ΠY (t1 ) 6= ΠY (t2 )]

∨ [ΠX (t1 ) = ΠX (t2 ) ∧ ΠZ (t1 ) = ΠZ (t2 ) ∧ ΠZ (t1 ) 6= ΠZ (t2 )]

Como la segunda parte de la condición anterior es una contradicción, la única posibilidad que tenemos es que:

ΠX (t1 ) = ΠX (t2 ) ∧ ΠZ (t1 ) = ΠZ (t2 ) ∧ ΠY (t1 ) 6= ΠY (t2 )

Lo cual es un absurdo porque contradecimos la hipótesis d que r sat X → Y .

A3. Transitividad :
Queda como ejercicio.

Informalmente diremos que una dependencia X → Y se deriva de un conjunto F si puede obtenerse por medio de la sucesiva
aplicación de los axiomas de Armstrong a F . Dado que los Axiomas de Armstrong son completos toda implicación lógica, es
decir toda dependencia de F + , puede obtenerse por medio de una derivación. Además, dado que los Axiomas de Armstrong
son consistentes toda derivación produce una implicación lógica, es decir, produce una dependencia de F + . Formalizamos
estos conceptos a través de las siguientes definiciones:

Definición: Sea R un esquema de relación, F un conjunto de dependencias funcionales de R y X, Y ⊆ R.


Diremos que X → Y se deriva de F , y lo denotaremos con F ⊢ X → Y , si existe una secuencia de dependencias
DF1 , DF2 , . . . , DFn tal que:
DFn = X → Y
∀i = 1..n : DFi ∈ F o se obtiene de dos anteriores por medio de la aplicación de alguna de las reglas de
derivación
2 Recuerde que la notación ZY significa Z ∪ Y

OA y BDI - UNSL -Prof. Norma Herrera 5


Definición: F + = { X → Y /F ⊢ X → Y }.

Ejemplos:

Sea R = {DN I, Categorı́a, Sueldo} y F = {DN I → Categorı́a, Categorı́a → Sueldo}. Veamos que F ⊢ DN I →
Sueldo:

1. DN I → Categorı́a (dada)
2. Categorı́a → Sueldo (dada)
3. DN I → Sueldo (por transitividad de 1 y 2)

Veamos otro ejemplo. Sea R = {A, B, C, D} y F ={ A → C, B → D}, Demostraremos que F ⊢AB → ABCD:

1. A → C (dada)
2. AB → ABC (por aumentación de 1 con AB)
3. B → D (dada)
4. ABC → ABCD (por aumentación de 3 con ABC)
5. AB → ABCD (por transitividad entre 2 y 4)

Existe un conjunto de reglas de inferencia adicionales, que pueden demostrarse a partir de los axiomas de Armstrong. Ellas
son:

Regla de la unión: Si X → Y y X → Z , entonces X → Y Z.


Regla de pseudotransitividad: Si X → Y y W Y → Z entonces W X → Z.
Regla de descomposición Si X → Y y Z ⊂ Y entonces X → Z.

Aunque los Axiomas de Armstrong facilitan el proceso de calcular F + este cálculo consume mucho tiempo, dado que, aún
cuando el número inicial de dependencias sea pequeño, el número total de dependencias en F + es grande. Por otro lado,
no todas las dependencias en F + son útiles; por ejemplo, dependencias triviales de la forma X → X están en F + . Por
consiguiente, deberemos buscar en la manipulación de dependencias que exige la teorı́a de normalización métodos que no
estén basados en el cálculo de F + .

6. Clausura de un conjunto de atributos

Si deseamos disponer de algoritmos eficientes para el diseño de bases de datos relacionales, debemos abordar y resolver
eficientemente algunos problemas relacionados con la manipulación de dependencias, como por ejemplo:

Determinar si X → Y ∈ F + .
Disponer de algún algoritmo eficiente para determinar la equivalencia entre dos conjuntos de dependencias.
Verificar si un conjunto de atributos es clave de un esquema R.
Determinar todas las claves de un esquema R.

Estos problemas pueden ser resueltos usando como herramienta la clausura de un conjunto de atributos.

OA y BDI - UNSL -Prof. Norma Herrera 6


Definición: Sea R un esquema de relación, F un conjunto de dependencias funcionales de R y X ⊆ R. La
clausura de X con respecto a F , denotada con X + , es el conjunto de atributos A tales que X → A se deriva de
F . En sı́mbolos:
X + = {A/A ∈ R ∧ F ⊢ X → A} = {A/A ∈ R ∧ F |= X → A}

LEMA: F ⊢ X → Y si y sólo si Y ⊆ X +

Demostración

⇒) Sea Y = A1 · · · An . Supongamos que F ⊢ X → Y . Luego, por la regla de descomposición, F ⊢ X → Ai para todo


i = 1..n. Por la definición de X + , Ai ∈ X + para todo i = 1..n. De donde se deduce que Y ⊆ X + .

⇐) Supongamos que Y ⊆ X + , entonces Ai ∈ X + , para todo i = 1..n. Luego, por definición de X + , F ⊢ X → Ai para
todo i = 1..n. Luego, por la regla de la unión, F ⊢ X → Y .

Si disponemos de un método eficiente para calcular X + , podremos resolver eficientemente los problemas que planteamos al
principio. Veremos ahora un algoritmo que permite calcular X + , en un tiempo que es proporcional al tamaño de F .

Algoritmo

Entrada: Un conjunto de atributos R, un conjunto de dependencias funcionales F , y un conjunto X ⊆ R.


Salida: X + , la clausura de X con respecto aF .
Método: Computaremos una secuencia de conjuntos X (0) , X (1) , . . . según las siguientes reglas:
1. X (0) = {A/A ∈ X}
2. X (i+1) = X (i) ∪ {A/ existe Y → Z ∈ F : A ∈ Z ∧ Y ⊆ X (i) }
Dado que X = X (0) ⊆ · · · ⊆ X (i) ⊆ . . . ⊆ R, y R es finito entonces existirá i tal que X (i) = X (i+1) . Como X (i+1) se
calcula sólo en términos de X (i) , se sigue que X (i) = X (i+1) = X (i+2) = · · ·. En consecuencia, el algoritmo finaliza
cuando X (i) = X (i+1) .

7. Equivalencia entre conjuntos de dependencias

Estudiaremos ahora métodos que nos permitan representar en forma sintética un conjunto de dependencias funcionales F . Por
ejemplo, si tenemos los siguientes conjuntos de dependencias funcionales sobre el esquema R = {A, B, C}:

F = {A → B, B → C, A → C}

G = {A → B, B → C}

Estos dos conjuntos de dependencias están representando el mismo conjunto de restricciones, dado que si bién A → C ∈ / G,
ésta puede derivarse a partir de las dependencias que hay en G. En este caso diremos que los conjuntos de dependencias F y
G son equivalentes.

Definición: Sea R un esquema de relación, y sean F y G conjuntos de dependencias funcionales sobre R. Diremos
que F y G son equivalentes, y lo denoraremos con F ≡ G, si y solamente si F + = G+ .
Si F ≡ G diremos que F es una cobertura para G y que G es una cobertura para F .

El problema de equivalencia entre conjuntos de dependencias funcionales es fundamental en el proceso de normalización,


dado que es necesario comprobar si la transformación realizada sobre un conjunto F es correcta.

Para determinar si dos conjuntos de dependencias son o no equivalentes basta con verificar que:

OA y BDI - UNSL -Prof. Norma Herrera 7


1. Toda dependencia X → Y ∈ F también está en G+

2. Toda dependencia X → Y ∈ G también está en F +

Veamos por qué. Si alguna dependencia X → Y ∈ F no está en G+ , entonces es obvio que F + 6= G+ . Si toda dependencia
X → Y ∈ F está en G+ , entonces podemos asegurar que toda dependencia Z → W ∈ F + también está en G+ : una
demostración de que Z → W ∈ G+ puede formarse tomando primero la demostración de que toda dependencia X → Y ∈ F
está en G+ , y concatenándole luego una demostración de que Z → W está en F + . En forma análoga se analiza el punto 2.

Notar que, los puntos 1. y 2. puede realizarse sin calcular las clausuras de los conjuntos de dependencias, basta con ver que:

+
1. Para toda dependencia X → Y ∈ F : Y ⊆ XG .
2. Para toda dependencia X → Y ∈ G: Y ⊆ XF+ .

8. Coberturas minimales

Dado un conjunto de dependencias F podemos encontrar un conjunto equivalente a F y que tenga algunas propiedades que
son de utilidad. Una propiedad simple pero importante es que el lado derecho de cada dependencia puede descomponerse de
manera tal que quede un único atributo.

LEMA: Todo conjunto de dependencias F es equivalente a un conjunto en el cual cada dependencia tiene un sólo atributo en
su parte derecha.

Demostración

Sea G = {X → A/ existe X → Y ∈ F tal que A ∈ Y }. Vamos a demostrar que F ≡ G.

1. Sea X → Y ∈ F con Y = A1 , A2 , · · · , An . Luego, por la definición de G:

X → A1 ∈ G ∧ X → A2 ∈ G ∧ · · · ∧ X → An ∈ G

Luego, por la regla de la unión X → Y ∈ G ⇒ X → Y ∈ G+ .


2. Sea X → A ∈ G, entonces por la definición de G existe X → Y ∈ F tal que A ∈ Y . Luego por la regla de
descomposición X → A ∈ F ⇒ X → A ∈ F + .

Por 1. y 2. F ≡ G.

Diremos que un conjunto de dependencias F es minimal si cumple las siguientes propiedades:

1. F es reducida a derecha: toda dependencia en F tiene un sólo atributo en su parte derecha.


2. F es no redundante: no existe X → A ∈ F tal que F ≡ F − {X → A}
3. F es reducida a izquierda: No existe X → A ∈ F y Z ⊂ X tal que F ≡ F − {X → A} ∪ {Z → A}

La propiedad 2. garantiza que no hay dependencias en F que sean redundantes, es decir, que sean implicadas por las demás. La
propiedad 3. garantiza que no hay atributos redundantes en el lado izquierdo de cada dependencia. Y la propiedad 1. garantiza
que cada dependencia no tiene atributos redundantes en su lado derecho.

Es decir, en conjunto estas tres propiedades aseguran que en F cada dependencia tiene la menor cantidad de atributos posibles,
y además que no han quedado dependencias innecesarias, es decir, dependencias que pueden deducirse de las demás.

OA y BDI - UNSL -Prof. Norma Herrera 8


Definición: Sean F y G conjuntos de dependencias funcionales. Diremos que G es una cobertura minimal de F
si y sólamente si G ≡ F y G es minimal.

TEOREMA: Todo conjunto de dependencias F tiene una cobertura minimal.

Demostración

La demostración de este teorema es constructiva, es decir, la demostración da el método para encontrar la cobertura minimal
de F .

Por el Lema anterior, asumimos que cada dependencia en F tiene un único atributo en su lado derecho. Repetidamente busca-
mos dependencias que violen las condiciones 2. (dependencias redundantes) y 3. (dependencias no reducidas a izquierda), y
modificamos adecuadamente el conjunto de dependencias dado. Como cada modificación o elimina una dependencia o elimina
un atributo, este procedimiento en algún momento finalizará llegando a un conjunto de dependencias que sea minimal.

Para la propiedad 2. consideramos cada dependencia X → Y en el conjunto corriente de dependencias F . Si

F ≡ F − {X → A}

entonces eliminamos X → A de F . Notar que eliminar las dependencias en distinto orden puede producir que se eliminen
distintos conjuntos de dependencias.

Para la propiedad 3. consideramos cada dependencia A1 · · · Ak → B en el conjunto corriente de dependencias F , y cada


atributo Ai en el lado izquierdo en algún orden. Si

F − {A1 · · · Ak → B} ∪ {A1 · · · Ai−1 Ai+1 → B} ≡ F

entonces eliminamos Ai del lado izquierdo de A1 · · · Ak → B. Nuevamente, el considerar los atributos en distinto orden
puede producir que distintos conjuntos de atributos sean eliminados.

E JERCICIO : ANALIZAR POR QU É ES SUFICIENTE ELIMINAR PRIMERO TODAS LAS DEPENDENCIAS QUE NO SATISFAGAN
LA PROPIEDAD 3. Y LUEGO TODAS LAS QUE NO SATISFAGAN LA PROPIEDAD 2, PERO NO A LA INVERSA

B IBLIOGRAF ÍA

1. Maier, D; The Theory of Relational Databases Computer science press, 1983.


2. Ullman, Jeffrey D.; Principles of Database and Knowledge Base Systems, Vol I Computers Science Press, 1988.
3. de Miguel, A.; Piattini, M.; Marcos, E. ; Diseño de Bases de Datos Relacionales; RA-MA Editorial

OA y BDI - UNSL -Prof. Norma Herrera 9

Вам также может понравиться