Open In App

# Differentiate between Partial Dependency and Fully Functional Dependency

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 functionally 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

From the table, we can clearly see that neither supplier_id  nor item_id can uniquely determine the 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 can 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 the closure of {A+}=ADB
Here A is alone capable of determining B, which means B is partially dependent on AC.
Let us take another example –

Student table

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