- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Explain about partial and fully functional dependency
If a non-key attribute(s) depends on a part of a candidate key then it is partial dependency, it is applicable where the primary key has multiple attributes. If a non-key attribute(s) depends on the entire candidate key, then it is full dependency.
Example 1
Let R(A,B,C) and AB=candidate key.
A-> C is a partial dependency (where C dependson a part of the candidate key).
AB->C is a full dependency (where c depends on the entire candidate key).
A Functional dependency X->Y is a partial dependency if,
- X is a part of candidate key and
- Y is a non-key attribute(s).
Example 2
R(ABCDE)
F: {AB->C, C->D, B->E }. Find partial dependency.
Solution
AB+ =ABCD C+= CD B+= BE
=>AB is the only candidate key.
=> key attributes =A,B and
=> non-key attributes = C,D,E.
Key attributes are also called prime attributes and non-key attributes are also called non-prime attributes.
AB->C is not a Partial dependency // it is full dependency.
C-> D is not a partial dependency //it is full dependency.
B-> E is a partial dependency, since B is a part of the candidate key and E is a non-key attribute.
Example 3
Consider another example which is given below −
StudentClass (CourseID, RollNoOfStudent, Score, StudentName, StudentAge);
The Candidate Key in the above relation is {CourseID, RollNoOfStudent}
The functional dependency is; {CourseID, RollNoOfStudent} —-> {Score}
Now, the score is fully dependent on course id and rollno of student ..
{RollNoOfStudent}--->{StudentName}
Now student name is a non primary attribute, and it depends only on a subset of candidate keys, not on whole.