Search code examples
rdbmsdatabase-normalizationtransitive-dependency

If an attribute is dependent on a composite of two attributes, then is this a functional dependency?


Transitive functional dependency is defined as:

If A → B and B → C then A → C (Reference: This Tutorial!)

If an attribute is dependent on a composite of two attributes ( i.e. A,B -> C), then is this a functional dependency?

Can we consider this type of dependence to be (or not) a transitive dependency?


Solution

  • If an attribute is dependent on a composite of two attributes (A,B->C) then this is a "functional dependency".

    A transitive dependency occurs when you have a non-key predicate that is placed in a "child" relation when it properly belongs in the "parent" relation. In your case, A->C is a transitive dependency.

    There is a pretty clear practical example of a transitive dependency on Wikipedia.

    It should be noted that there is a difference between A->B, B->C and A,B->C. These are not equivalent dependencies.