I'm having trouble understanding the logic in use for identifying functional dependancies.

Looking at the sample relation below, I understand fd1 - fd3. But when I look at fd4 and fd5, its logic makes me believe that fd6 and fd7 would also be possible, but it's not according to the book I'm studying.

The logic that operates fd4 and fd5 is to me:

We conclude that unique combination of values in in columns A and B such as (a, b) is associated with a single value in column E, which in this example is "q". In other words attributes (A, B) functionally determines attribute E, and this is shown as fd4 in the sample relation. We also conclude that attributes (B, C) functionally determine attribute E using the same reasoning described earlier, and this functional dependancy is shown as fd 5 in the sample relation.

So why is fd6 and fd7 not true?

A sample relation

  • 2
    If {A} -> {C} holds, then {A,+} -> {C} holds too. IF {C} -> {A} holds then {C,+} -> A holds too; therefore {C,D} -> {A} is true. Same logic for {B,C} -> E and {B,C,A} -> E. Not sure which book you have, but there are many bad DB books out there... in other words throw this one to garbage and get some classics. Commented Aug 13, 2014 at 11:59

1 Answer 1


Given C --> A, adding an attribute to left-hand side would result in a true functional dependency: C D --> A. Perhaps your book was trying to say that C D --> A was not part of the minimal basis. You can see that C D --> A is not needed. C by itself determines A. You could run a similar argument for A B C --> E. It's not part of the minimal basis, because you have A B --> E and B C --> E. Adding an extra attribute to the left-hand side, while allowed, does not provide more information.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.