Transitive dependency

In mathematics, a transitive dependency is a functional dependency which holds by virtue of transitivity. A transitive dependency can occur only in a relation that has three or more attributes. Let A, B, and C designate three distinct attributes (or distinct collections of attributes) in the relation. Suppose all three of the following conditions hold:


 * 1) A → B
 * 2) It is not the case that B → A
 * 3) B → C

Then the functional dependency A → C (which follows from 1 and 3 by the axiom of transitivity) is a transitive dependency.

Another way to look at it is a bit like a stepping stone across a river. If we consider a relation to be our river with a primary key A to be the far bank of the river and our non-key attribute C to be our current location, in order to get to A, our primary key, we need to step on a stepping stone B, another non-key attribute, to help us get there. Of course we could jump directly from C to A, but it is easier, and we are less likely to fall in, if we use our stepping stone B. Therefore current location C is transitively dependent on A through our stepping stone B.

In database normalization, one of the important features of third normal form is that it excludes certain types of transitive dependencies. E.F. Codd, the inventor of the relational model, introduced the concepts of transitive dependence and third normal form in 1971.

Example
A transitive dependency occurs in the following relation:

The functional dependency {Book} → {Author Nationality} applies; that is, if we know the book, we know the author's nationality. Furthermore:


 * {Book} → {Author}
 * {Author} → {Author Nationality}
 * {Author Nationality} does not → {Book}

Therefore {Book} → {Author Nationality} is a transitive dependency.