A functional dependency is said to be transitive if it is indirectly formed by two functional dependencies. For e.g.
X -> Z is a transitive dependency if the following three functional dependencies hold true:
- X->Y
- Y does not ->X
- Y->Z
Note: A transitive dependency can only occur in a relation of three of more attributes. This dependency helps us normalizing the database in 3NF (3rd Normal Form).
Example: Let’s take an example to understand it better:
Book | Author | Author_age |
Game of Thrones | George R. R. Martin | 66 |
Harry Potter | J. K. Rowling | 49 |
Dying of the Light | George R. R. Martin | 66 |
{Book} ->{Author} (if we know the book, we knows the author name)
{Author} does not ->{Book}
{Author} -> {Author_age}
Therefore as per the rule of transitive dependency: {Book} -> {Author_age} should hold, that makes sense because if we know the book name we can know the author’s age.
Jennifer says
{Book} ->{Author} (if we know the book, we knows (KNOW*) the author name)