Functional Dependency (FD) is one of the most important concepts in Database Management Systems (DBMS) because it forms the foundation of Normalization. Questions based on Functional Dependencies are regularly asked in IBPS SO IT Officer, SEBI Grade A IT, NIELIT, GATE, UGC NET, and university examinations.
If you understand Functional Dependencies properly, learning 1NF, 2NF, 3NF, BCNF, and higher normal forms becomes much easier.
In this quick revision guide, we'll understand the concept with examples, different types of dependencies, solved questions, and important exam tips.
Practice DBMS Questions
Strengthen your DBMS concepts with a free IBPS SO IT Officer practice test.
What is Functional Dependency?
A Functional Dependency is a relationship between two sets of attributes where one attribute uniquely determines another attribute.
It is represented using the arrow symbol:
X → Y
which is read as:
X determines Y
or
Y is functionally dependent on X.
Simple Example
Consider the following Student table.
| Roll No | Name | Branch |
|---|---|---|
| 101 | Rahul | CSE |
| 102 | Aman | IT |
| 103 | Priya | ECE |
Here,
RollNo → Name
RollNo → Branch
because every Roll Number uniquely identifies exactly one student.
However,
Branch → Name
is NOT a Functional Dependency because many students can belong to the same branch.
Always ask yourself: "Can one value uniquely determine another?" If yes, a Functional Dependency exists.
Why Functional Dependency is Important
Functional Dependencies help us:
- Design efficient databases
- Remove redundant data
- Avoid insertion anomalies
- Avoid update anomalies
- Avoid deletion anomalies
- Perform database normalization
Without Functional Dependencies, normalization is impossible.
Types of Functional Dependencies
Competitive exams mainly focus on the following types.
1. Trivial Functional Dependency
A dependency is trivial when the right-hand side is already present in the left-hand side.
Example:
{A, B} → A
{StudentID, Name} → Name
Every trivial dependency is always true.
2. Non-Trivial Functional Dependency
A dependency is non-trivial when the right-hand side is not part of the left-hand side.
Example
StudentID → Name
This provides new information and is useful during normalization.
3. Completely Non-Trivial Dependency
A dependency is completely non-trivial when the left and right sides have no common attributes.
Example
EmployeeID → Salary
Full Functional Dependency
A Full Functional Dependency exists when an attribute depends on the entire composite key, not just a part of it.
Example
| StudentID | CourseID | Grade |
|---|
Composite Key
(StudentID, CourseID)
Dependency
(StudentID, CourseID) → Grade
Grade depends on both attributes together.
This is a Full Functional Dependency.
Partial Dependency
A Partial Dependency exists when a non-key attribute depends on only a part of the composite key.
Example
| StudentID | CourseID | StudentName |
|---|
Composite Key
(StudentID, CourseID)
Dependency
StudentID → StudentName
StudentName depends only on StudentID.
This is a Partial Dependency.
Partial Dependency violates Second Normal Form (2NF).
Transitive Dependency
Suppose
A → B
and
B → C
Then
A → C
This is called a Transitive Dependency.
Example
StudentID → DepartmentID
DepartmentID → DepartmentName
Therefore,
StudentID → DepartmentName
This violates Third Normal Form (3NF).
Candidate Key and Functional Dependency
A Candidate Key is the minimum attribute (or set of attributes) that determines every other attribute.
Example
StudentID → Name
StudentID → Branch
StudentID → Phone
Here,
StudentID
is the Candidate Key.
Functional Dependency Example Question
Consider the relation
| EmpID | EmpName | Department |
|---|---|---|
| 101 | Rahul | IT |
| 102 | Aman | HR |
Which of the following Functional Dependencies is valid?
A.
EmpID → EmpName
B.
Department → EmpName
Solution
Each Employee ID identifies exactly one employee.
Therefore,
EmpID → EmpName
is correct.
However,
multiple employees can belong to the same department.
Hence,
Department → EmpName
is incorrect.
Answer: Option A
Previous Year Style MCQ
Which dependency violates Second Normal Form (2NF)?
A. Full Functional Dependency
B. Partial Dependency
C. Trivial Dependency
D. Candidate Dependency
Answer
✅ B. Partial Dependency
Because 2NF removes Partial Dependencies.
Quick Revision Table
| Dependency | Meaning |
|---|---|
| Functional Dependency | One attribute determines another |
| Trivial Dependency | RHS is part of LHS |
| Non-Trivial Dependency | RHS not present in LHS |
| Full Dependency | Depends on entire composite key |
| Partial Dependency | Depends on part of composite key |
| Transitive Dependency | Indirect dependency through another attribute |
Memory Trick
Remember the order:
Functional Dependency
↓
Normalization
↓
1NF
↓
2NF (Remove Partial Dependency)
↓
3NF (Remove Transitive Dependency)
↓
BCNF
This flow is frequently tested in competitive exams.
Common Exam Mistakes
Students often confuse:
- Candidate Key with Primary Key
- Partial Dependency with Transitive Dependency
- Trivial and Non-Trivial Dependency
- Functional Dependency with Foreign Key
Always identify the determinant first before solving dependency questions.
Practice Mock Tests
Strengthen your DBMS preparation by solving topic-wise practice questions.
To get more free mock tests for IBPS SO IT Officer Click Here
Final Thoughts
Functional Dependency is the backbone of database normalization. Most questions in competitive exams are concept-based rather than calculation-based. If you understand how one attribute determines another and can distinguish between Full, Partial, and Transitive Dependencies, you'll be able to solve almost every Functional Dependency question with confidence.
Master this topic before moving on to Normalization, Keys, and BCNF, as these concepts are closely interconnected.
