The Gateway to Computer Science Excellence

+2 votes

What is the best and the most accurate way to check if a given functional dependency is partial on the set of FDs given. Earlier, I used to follow {part of CK -> non prime attribute} as the rule, but in several of the questions I find that this rule alone is not sufficient. Can someone give a fully working technique to solve for such cases ?

For instance, I was reading a question on stack overflow, where in a relation r(ABCD), the following FDs hold- AB->CD, AB->C and A->C.

As the CK is AB,the partial FDs should be A->C . But one of thetop users has commented that the dependency Ab->C is partial and A->C is full. ?? :/

Question link for reference (http://stackoverflow.com/questions/25747802/partial-dependencydatabases ) see answer by 'Mike Sherrill 'Cat Recall''

For instance, I was reading a question on stack overflow, where in a relation r(ABCD), the following FDs hold- AB->CD, AB->C and A->C.

As the CK is AB,the partial FDs should be A->C . But one of thetop users has commented that the dependency Ab->C is partial and A->C is full. ?? :/

Question link for reference (http://stackoverflow.com/questions/25747802/partial-dependencydatabases ) see answer by 'Mike Sherrill 'Cat Recall''

+1 vote

A functional dependency X → Y is a full functional dependency if removal of any attribute A from X means that the dependency does not hold any more; that is, for any attribute A ε X, (X – {A}) does not functionally determine Y.

**A functional dependency X → Y is a partial dependency if some attribute A ε X can be removed from X and the dependency still holds**;

Here if we remove B from AB→C

We get A→C (as A→C holds bcz it is in fd already)

If we remove B From there AB→C can't hold any more C fully depends on A.

So C partially depends on AB and AB→C is partial fd

Read answer of philipxy or his replies ovr the comment carefully.

0 votes

Fd on the right hand side of partial dependency should be proper subset of any candidate key. So AB is not proper subset of of CK. Hence there is only one partial Dependency.

0

@JEET AB is the candidate key and FD : AB - C is not the partial dependency because elements on the left hand side of this FD are not proper subset of AB( which is Candidate Key). Hence we have only one partial dependency which is A--C

52,218 questions

59,856 answers

201,041 comments

118,103 users