Skip to content
Related Articles

Related Articles

Improve Article

Differentiate between Partial Dependency and Fully Functional Dependency

  • Last Updated : 25 Jun, 2021

Fully Functional Dependency :
If X and Y are an attribute set of a relation , Y is fully functional dependent on X, if Y is functionally dependent on X but not on any proper subset of X.
Example  –
In the relation ABC->D , attribute D is fully functional dependent on ABC if it is fully functional dependent on ABC and not on any proper subset of ABC. That means that subsets of ABC like AB ,BC ,A,B ,etc cannot determine D .
Let us take another example – 

Supply table 

supplier_iditem_idprice
11540
21545
12200
22201
11540
22201
31542

From the table, we can clearly see that neither supplier_id  nor item_id can uniquely determine price but both supplier_id and item_id together can do so. So we can say that price is fully functionally dependent on { supplier_id , item_id } .This summarizes and gives our fully functional dependency −

{ supplier_id , item_id } -> price

Partial Functional Dependency :
A functional dependency X->Y is a partial dependency if Y is functionally dependent on X and Y cannot be determined by any proper subset of X.
For example , we have a relationship  AC->B , A->D and D->B. 
Now if we compute closure of {A+}=ADB 
Here A is alone capable of determining B, which means B is partial dependent on AC .
Let us take another example –

Student table



nameroll_nocourse
Ravi2DBMS
Tim3OS
John5Java

Here , we can see that both the attributes name and roll_no alone is able to uniquely identify a course. Hence , we can say that the relationship is partial dependent .

Differences between Full Functional Dependency and Partial Functional Dependency are : 

Full Functional Dependency 

Partial Functional Dependency

A functional dependency X->Y is a fully functional dependency if Y is functionally dependent on X and Y is not functionally dependent on any proper subset of X.A functional dependency X->Y is a partial dependency if Y is functionally dependent on X and Y cannot be determined by any proper subset of X.
In full functional dependency , the non-prime attribute is functionally dependent on the candidate key.In partial functional dependency ,  non-prime attribute is functionally dependent on part of a candidate key.
In fully functional dependency, if we remove any attribute of X,  then the dependency will not exist anymore.In partial functional dependency, if we remove any attribute of X,  then the dependency will still exist .
Full Functional Dependency equates to the normalization standard of Second Normal Form .Partial Functional Dependency does not equate to the normalization standard of Second Normal Form . Rather , 2NF eliminates the Partial Dependency. 
An attribute A is fully functional dependent on another attribute B if it is functionally dependent on that attribute , and not on any part (subset) of it .An attribute A is partially functional dependent on other attribute B if it is functionally dependent any part (subset) of that attribute .
Functional dependency enhances the quality of the data in our database.Partial dependency does not enhance the data quality. It must be eliminated in order to normalize in the second normal form.

Attention reader! Don’t stop learning now.  Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.

Learn all GATE CS concepts with Free Live Classes on our youtube channel.

My Personal Notes arrow_drop_up
Recommended Articles
Page :