-1

Suppose we have a relation R(A,B,C,D,E) with candidate keys {A,B} , {C,D} and let E be a non prime attribute.

If there is a dependency C->E then it is partial dependency as E depends on a part of candidate key {C,D}

Is dependency BC->E partial?

philipxy
  • 14,867
  • 6
  • 39
  • 83
Zephyr
  • 1,521
  • 3
  • 22
  • 42
  • 1
    Following [this answer](https://stackoverflow.com/a/25827210/2382734), `C → E` is not a partial dependency (while `CD → E` is). If in the relation, in addition to`C → E`, there exists also a dependency `BC → E` then the latter is also a partial dependency, since `B` can be removed from the left hand part and the `C → E` dependency still hold. If, on the other hand, `C → E` does not hold and `BC → E` hold (together with the dependencies implied by the keys), then the latter it is not a partial dependency (by the definition cited in the answer). – Renzo Jul 05 '17 at 13:37
  • CD -> E is not partial dependency. CD is candidate key so it can uniquely determine E i.e CD->E ,now C->E is partial because a non prime attribute(E) depends on a part of Candidate key. – Zephyr Jul 05 '17 at 14:15
  • Does the "if" sentence have something to do with answering the final question? Why is it there? Are you trying to ask whether if C->E then does BC->E paritally? (Do you realize that "partial" only applies to FDs that hold, ie only a FD that holds can be partila?) In your last sentence are you trying to say, if BC->E holds, is it partial? Because you are not saying those things. – philipxy Jul 06 '17 at 03:01
  • @Renzo Per my answer 1. C → E is not partial as long as {} doesn't determine E 2. If C → E holds then BC → E must hold & be partial. 3. If C → E does not hold then BC → E is not partial as long as B → E & {} → E don't hold. Damn those slippery ifs. But of course I would agree with a slightly different sound version of your comment. – philipxy Jul 08 '17 at 20:21

1 Answers1

3

If there is a dependency C->E then it is partial dependency as E depends on a part of candidate key {C,D}

That "as" is unsound. It doesn't appeal to the definition of "partial functional dependency". We need to memorize & apply definitions exactly. (What published academic reference(s) are you using?)

FD X → Y is partial when it holds and some proper/smaller subset of X also determines Y. If all X attributes are in the relation then FD X → Y is partial when some proper/smaller subset of X also determines Y. (Because Armstrong's axioms say that the subset FD implies the X FD.)

Here FD C → E is partial when {} → E. (Ie when all rows have the same E value.) Armstrong's axioms say certain other FDs also hold since AB & CD are keys. The combined FDs that hold can't make E prime. But it turns out that we still can't know whether {} → E holds. So if C → E then we can't know whether C partially determines E.

Is dependency BC->E partial?

Here FD BC → E is partial when some proper/smaller subset of BC determines E. Ie when B → E, C → E or {} → E. It turns out that we can't know whether any of those four FDs hold. So we can't know whether BC → E, let alone whether it is partial. Although if B → E or C → E then FD BC → E is partial. (Because B & C are proper/smaller subsets of BC.)

(Normally we know a cover for the FDs that hold, which determines all FDs that hold, which determines the CKs and the non-prime attributes. Then because we know all the FDs that hold, we can determine which ones are partial. CKs are irrelevant to whether a FD is partial.)

philipxy
  • 14,867
  • 6
  • 39
  • 83