Menu

Functional Dependency in DBMS Explained | Quick Revision for IBPS SO IT Officer

Jitendra Chadar
July 11, 2026
5 min read
DBMS & SQL
Functional Dependency in DBMS Explained | Quick Revision for IBPS SO IT Officer

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.

Free DBMS Practice

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 NoNameBranch
101RahulCSE
102AmanIT
103PriyaECE

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

StudentIDCourseIDGrade

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

StudentIDCourseIDStudentName

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

EmpIDEmpNameDepartment
101RahulIT
102AmanHR

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

DependencyMeaning
Functional DependencyOne attribute determines another
Trivial DependencyRHS is part of LHS
Non-Trivial DependencyRHS not present in LHS
Full DependencyDepends on entire composite key
Partial DependencyDepends on part of composite key
Transitive DependencyIndirect 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.

Frequently Asked Questions (FAQs)

Functional Dependency defines the relationship between two attributes where the value of one attribute uniquely determines the value of another attribute.