Skip to content

Last modified: May 24, 2025

Functional dependencies

A functional dependency is a constraint that describes a relationship between attributes (columns) in a relation (table).

If two tuples agree on attribute X, they must also agree on the attributes Y X -> Y

X functionally determines Y.


If you have a table Students with attributes: StudentID, Name, Major)

and each student has a unique StudentID, then: StudentID -> Name, Major

Means knowing the StudentID uniquely determines the Name and Major.

If we can be sure that every instance of R (relational schema) will be one in which a given FD is true, then we say that R satisfies the FD


Additional Rules

If X → Y and X → Z, then X → YZ

If X → YZ, then X → Y and X → Z

If X → Y and WY → Z, then WX → Z