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 ( ) see answer by 'Mike Sherrill 'Cat Recall''
in Databases by Active | 624 views

2 Answers

+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.

by Loyal
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.
Please mention partial dependency also.
@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

@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.)

Yeah, I know this. :D

Between thanks.
Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
52,218 questions
59,856 answers
118,103 users