Question

I am trying to grasp the concept of the empty set with FDs. Say i have

R(A,B,C,D)

A-> E
B-> C
B-> D

where E is the empty set, from what I understand, this is a trivial FD, since you are learn nothing new from having A. But when you have

E-> A
B-> C
B-> D

what does this mean exactly? Is it simply "Nothing implies A", so A can have any value it wants within the defined domain or is it A must be a NULL value?

Was it helpful?

Solution

The empty set is usually written as ∅ or {}.

  • A->{} is trivial. (because {} is a subset of A).
  • {}->A is not trivial. (except if A is {}, since {} is the subset of every set, and so a subset of {} as well).

{}->A means the value of A can be determined without using any other value, in other words the value of A must be the same for every tuple in R. This is not the same as saying that A has no determinants or that A is null. If there were no determinants for A then A would be unconstrained and could have different values in different tuples.

An example of a dependency on the empty set might be the Sex attribute in a Members relation that defines the membership of a men-only club: {}->Sex.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top