624 views
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''
| 624 views

+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

by Loyal
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.
by
0
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
0
Right!
+1

@JEET please have a look at this definition

Partial dependency means that a non prime attribute is functionally dependent on part of a candidate key. (A non prime attribute is an attribute that's not part of any candidate key.)

0
Yeah, I know this. :D

Between thanks.