Dependencias funcionales Flashcards

1
Q

Definir informalmente dependencia funcional

A

Una dependencia funcional es un constraint que especifica una relacion entre dos conjuntos de atributos, tal que uno de los conjuntos puede determinar el valor del otro.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Definicion formal de dependencia funcional

A

Sea R un esquema de relacion y sean A y B subconjuntos de R, la dependencia funcional A -> B se cumple en R, si para cualquier instance r(R) se cumple que para todo par de tuplas t1, t2 \in r, si t1[A] = t2[A] entonces t1[B] = t2[B]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Definir superclave en terminos de dependencia funcional

A

Sea K \subset R, K es una superclave de R si y solo si K -> R

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definir clave candidata en terminos de dependencia funcional

A

Sea K \subset R, K es una clave candidata de R si:
- K -> R
- No existe ningun A \subset K, tal que A -> R

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que permiten expresar las dependencias funcionales?

A

Restricciones que no pueden ser expresadas a traves de superclaves

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Definir dependencia funcional trivial

A

Una dependencia funcional se A -> B se dice trivial si B \subset A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definir clausura de conjunto de dependencias funcionales

A

A partir de un conjunto de dependencias funcionales F se pueden probar que valen otras.
Sea F un conjunto de dependencias funcionales que valen en un esquema R, la clausura de F, denotado F+, es el conjunto de dependencias funcionales implicadas por F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Dar y definir los axiomas de Amstrong

A

(1) REFLEXIVIDAD: Si B \subseteq A, entonces A -> B

(2) AUMENTACION: Si A -> B, y C es un conjunto de atributos, entonces AC -> BC

(3) TRANSITIVIDAD: Si A -> B, y B -> C, entonces A -> C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Definir reglas derivadas de los axiomas de Amstrong

A

(1) UNION: Si se cumple que A -> B y A -> C, entonces A -> BC

(2) DESCOMPOSICION: Si se cumple que A -> BC, entonces se cumple que A -> B y A -> C

(3) PSEUDOTRANSITIVIDAD: Si se cumple que A -> B y BC -> D, entonces AC -> D

Demostraciones:
http://tinman.cs.gsu.edu/~raj/4710/sp08/fd-theory.pdf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Definir clausura de conjuntos de atributos

A

Dado un conjunto de atributos A, se define la clausura de A bajo F (denotado A+) como el conjunto de atributos que son determinados funcionalmente por A bajo F:

A -> B esta en F+ si y solo si B \subseteq A+

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Dar el algoritmo para obtener la clausura de conjunto de atributos

A

result = A
while (result cambia) do:
for each dependencia B -> C in F do:
if B \subseteq result:
result = result + C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Dar el algoritmo para obtener la clausura de conjunto de atributos

A

result = A
while (result cambia) do:
for each dependencia B -> C in F do:
if B \subseteq result:
result = result + C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Para que sirve la clausura de conjunto de atributos?

A

(1) Para ver si un conjunto de atributos es superclave: si A es superclave, entonces A+ contiene todos los atributos de R

(2) Para probar la validez de una dependencia funcional: A -> B vale siempre que B este contenido en A+

(3) Computar clausura de conjunto de F: para cada C \subseteq R, definir la clasurura C+, y para cada S \subseteq C+, generar la dependencia funcional C -> S

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Definir recubrimiento canonico

A

El recubrimiento canonico de un conjunto de dependencias funcionales F es el conjunto minimo de dependencias funcionales equivalente a F. EJEMPLO:
F = {A -> B, B -> C, A -> C}
Su recubrimiento canonico seria {A ->B, B -> C}, ya que A -> C se puede deducir por transitividad y no es necesario explicitarlo en F

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Definir atributo extraño

A

Sea F un conjunto de dependencias funcionales, y A -> B una dependencia funcial en F.

(1) El atributo C es extraño en A si C \in A y F implica logicamente a (F - {A -> B}) U {(A - C) -> B}, es decir, que C no es necesario en A.

(2) El atributo C es extraño en B si si C \in B y F implica logicamente a (F - {A -> B}) U {A -> (B - C)}, es decir, que C no es necesario en B.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como se puede saber si un atributo es raro?

A

Sea F un conjunto de dependencias funcionales y A -> B una dependencia en F

Para probar si C \in A es raro en A:
(1) Computar ({A} - C)+
(2) Ver si ({A} - C)+ contiene a B. Si lo contiene, C es raro

Para probar si C \in B es raro en B:
(1) Computar A+ utilizando solo las dependencias en F’ = (F - {A->B}) U {A -> (B -C)}
(2) Chequear que A+ contiene a C, si es asi, es raro