Functional Dependency in DBMS
In a relational database, Functional Dependency (FD) describes a relationship between attributes where one attribute or a set of attributes determines another attribute. Functional dependencies are an important part of database design and play a major role in normalization.
Table of Contents

What is Functional Dependency?
A functional dependency represents a relationship between two sets of attributes in a relational table. It is written as:
S → T
Here:
- S is called the determinant.
- T is called the dependent.
The notation S → T means that the value of S uniquely determines the value of T.
In other words, if two rows have the same value for attribute S, they must also have the same value for attribute T.
Complete Advance AI Topics: Click Here
SQL Tutorial: Click Here
Example of Functional Dependency
Consider an Employee table containing the following attributes:
Emp_IdEmp_NameEmp_Address
If every employee has a unique employee ID, then Emp_Id determines the employee’s name and address.
Therefore, the following functional dependencies exist:
- Emp_Id → Emp_Name
- Emp_Id → Emp_Address
This means that knowing an employee’s ID is sufficient to determine that employee’s name and address.
Types of Functional Dependencies
Functional dependencies can be classified into different types. The two basic types are Trivial Functional Dependency and Non-Trivial Functional Dependency.
1. Trivial Functional Dependency
A functional dependency A → B is called a trivial functional dependency when B is a subset of A.
In simple terms, the attribute on the right side is already included in the attribute set on the left side.
Example:
Consider a relation containing:
{Employee_Id, Employee_Name}
The following dependencies are trivial:
- {Employee_Id, Employee_Name} → Employee_Id
- {Employee_Id, Employee_Name} → Employee_Name
- Employee_Id → Employee_Id
These are trivial because the right-hand-side attribute is already present on the left-hand side.
2. Non-Trivial Functional Dependency
A functional dependency A → B is called a non-trivial functional dependency when B is not a subset of A.
Example:
- Emp_Id → Emp_Name
- Emp_Id → Emp_Address
- Student_Id → Student_Name
These dependencies are non-trivial because the attributes on the right side are not included in the attributes on the left side.
A dependency is called a completely non-trivial functional dependency when the two attribute sets have no common attributes.
Armstrong’s Axioms
Armstrong’s Axioms are a set of inference rules used to derive functional dependencies from a given set of functional dependencies. They were introduced by William W. Armstrong and are fundamental to reasoning about functional dependencies in relational database design.
There are three basic Armstrong’s Axioms:
1. Reflexivity
According to the Reflexivity rule, if T is a subset of S, then:
S → T
is always true.
Example:
{Emp_Id, Emp_Name} → Emp_Id
This is true because Emp_Id is already part of the left-hand-side attribute set.
2. Augmentation
According to the Augmentation rule, if:
S → T
then adding the same attribute set R to both sides gives:
SR → TR
Example:
If:
Emp_Id → Emp_Name
then by augmentation:
{Emp_Id, Dept} → {Emp_Name, Dept}
also holds.
3. Transitivity
According to the Transitivity rule, if:
S → T
and:
T → U
then:
S → U
also holds.
Example:
Suppose:
- Emp_Id → Dept
- Dept → Manager
Then, by transitivity:
Emp_Id → Manager
Therefore, an employee ID can determine the manager through the department.
YT:- DecodeIT
Advantages of Functional Dependency in DBMS
1. Ensures Data Accuracy
Functional dependencies help maintain data consistency and integrity. They define relationships between attributes and help identify situations where inconsistent data could be stored.
2. Supports Database Normalization
Functional dependencies are one of the most important concepts used in database normalization. They help identify redundancy and determine how tables should be decomposed into smaller, well-structured relations.
3. Reduces Data Redundancy
By identifying dependencies between attributes, database designers can avoid storing the same information repeatedly. This reduces unnecessary duplication and helps prevent update, insertion, and deletion anomalies.
4. Improves Database Design
Understanding functional dependencies helps developers and database administrators create logical and well-organized database schemas.
5. Simplifies Database Maintenance
A database designed around clearly defined functional dependencies is generally easier to maintain. Changes to data can be managed more consistently, reducing the possibility of conflicting information.
Functional Dependency and Normalization
Functional dependencies provide the foundation for several normal forms, including 1NF, 2NF, 3NF, and BCNF.
By analyzing which attributes determine other attributes, database designers can identify redundant data and decompose tables into structures that improve consistency and reduce anomalies.
Final Thoughts
Functional Dependency is a fundamental concept in DBMS and relational database design. It explains how one attribute or a group of attributes determines another attribute and provides the foundation for database normalization.
Understanding concepts such as trivial and non-trivial dependencies and Armstrong’s Axioms makes it easier to analyze relationships between attributes and design efficient, consistent, and reliable databases.
Whether you are a student preparing for DBMS exams, a developer designing a database, or someone learning normalization, functional dependency is an essential concept to master.
Keywords
Functional Dependency, Functional Dependency in DBMS, Functional Dependencies, Types of Functional Dependency, Trivial Functional Dependency, Non-Trivial Functional Dependency, Armstrong’s Axioms, Reflexivity, Augmentation, Transitivity, Database Normalization, DBMS, Relational Database, Functional Dependency Examples Functional Dependency, Functional Dependency in DBMS, Functional Dependencies, Types of Functional Dependency, Trivial Functional Dependency, Non-Trivial Functional Dependency, Armstrong’s Axioms, Reflexivity, Augmentation, Transitivity, DBMS, Database Normalization, Relational Database, Functional Dependency Examples, Database Design, Data Integrity, Reduce Data Redundancy