-1

by transitivity you can get b->b which is trivial (if I got this right), so are the other two also trivial?

Studying functional dependencies and this appear in one of the exercises. Thanks,

hadroque
  • 15
  • 4
  • You can "get" b->b from nothing (given that b's attributes are in the given schema). The definition of trivial FD says it's trivial based on nothing but it. The trivial FDs are exactly the ones that you can get from nothing. Every FD implies a trivial FD. Since you can get a trivial FD from nothing, you can get it from anything. Every trivial FD is "redundant". – philipxy Feb 20 '20 at 10:29

1 Answers1

0

Nope.

Quoting wikipedia, a functional dependency X -> Y is called trivial if Y is a subset of X.

You're right that you can infer b -> b from b -> d and d -> b via transitivity; but that only means that if the set were {b -> d, d -> b, b -> b} then b -> b would be trivial and also redundant because of transitivity.

However, your set is only {b -> d, d -> b} which is indeed a minimal cover. It means that every b determines a d, and that every d determines a b, which are two very distinct facts about your schema. You can't simplify anymore without losing information.

If you find confusing wrapping your head about the letters just replace them with some toy attribute and the whole thing will look very intuitive.

laurids
  • 931
  • 9
  • 24