In relational database design, Functional Dependency (FD) describes how one set of attributes determines another set in a table. If a set of attributes functionally determines a set , it is written as . Functional dependencies are the foundation of normalization in DBMS.
Among these dependencies, different types exist that help classify their behavior and guide schema design. Understanding these types makes it easier to remove redundancy and design clean, well‑normalized tables.
1. Trivial Functional Dependency
A functional dependency is trivial if is a subset of . In other words, the right‑hand side attributes are already contained in the left‑hand side.
A trivial FD is always true and does not add any meaningful information, but it is still valid from a formal point of view.
Example:
In a STUDENT table with attributes :
is a trivial functional dependency because Name is already present in the left side.
2. Non‑Trivial Functional Dependency
A functional dependency is non‑trivial if is not a subset of . This type is the most useful in database design because it represents a real dependency between attributes.
Non‑trivial FDs are the ones that actually help in identifying keys and normal forms.
Example:
In a COURSE table:
is non‑trivial because the right‑hand side is not part of the left side.
3. Full Functional Dependency
In a relation, an attribute set is fully functionally dependent on if depends on the whole of and not on any proper subset of .
Full functional dependency is important in Second Normal Form (2NF), where partial dependencies must be eliminated.
Example:
In a table :
If and Marks does not depend on alone or alone, then Marks is fully functionally dependent on the composite key.
4. Partial Functional Dependency
A functional dependency is partial if can be determined by a proper subset of rather than the whole of .
Partial dependencies are avoided in normalized schemas, especially in 2NF.
Example:
In a RESULT table :
If , then even though holds, it is a partial functional dependency because Branch is determined by Roll_No alone.
5. Transitive Functional Dependency
A functional dependency is transitive if it exists only because there is some intermediate attribute such that and , but does not directly determine in a meaningful independent way.
Transitive dependencies are removed in Third Normal Form (3NF).
Example:
In a STUDENT table :
If and , then is a transitive functional dependency.
6. Multivalued Dependency (MVD)
A Multivalued Dependency occurs when, for a given value of attribute , there are multiple independent values of another attribute . MVDs are written as .
This type is important in Fourth Normal Form (4NF).
Example:
In a COURSE table :
If a course can have multiple professors and multiple textbooks, and these are independent of each other, there are MVDs like:
Why Types of Functional Dependencies Matter
Understanding these types of functional dependencies helps in:
Identifying keys and candidate keys from given FDs.
Detecting redundant and anomalous data patterns.
Applying normalization rules up to 3NF and 4NF.
Ensuring data integrity and clean relational design.
Summary
Functional dependencies in DBMS are classified into trivial, non‑trivial, full, partial, transitive, and multivalued dependencies. Each type plays a distinct role in schema design and normalization. Recognizing these patterns enables better database structure, reduced redundancy, and improved data consistency in relational databases.