Jan Hidders wrote:
> Bob Badour wrote:
>
>>Jan Hidders wrote:
>>
>>>masong_at_sbcglobal.net wrote:
>>>
>>>
>>>>"Database In Depth", C.J. Date, May 2005, p.140:
>>>>Relvar R is in BCNF if and only if, for every nontrivial FD A -> B satisfied
>>>>by R, A is a superkey for R.
>>>>
>>>>"Database Modeling and Design", 4th Ed., Torey/Lightstone/Nadeau, Sep 2005,
>>>>p.115:
>>>>A table R is in Boyce-Codd normal form (BCNF) if for every nontrivial FD X
>>>>-> A, X is a superkey.
>>>>
>>>>"Fundamentals of Database Systems", 5th Ed., Elmasri/Navathe, May 2006,
>>>>p.368:
>>>>A relation schema R is in BCNF if whenever a nontrivial functional
>>>>dependency X -> A holds in R, then X is a superkey of R.
>>>
>>>
>>>Of course, those are the standard definitions, but you claimed that you
>>>had seen one that said:
>>>
>>>"Previously he (and others) defined it where A had to be a candidate
>>>key
>>>(which is irreducible)."
>>>
>>>So a definition like: A relation schema R is in BCNF if whenever a
>>>nontrivial functional
>>>dependency A -> X holds in R, then A is a candidate key of R.
>>>
>>>That would not be equivalent to the standard definitions, so I wondered
>>>where you had seen such a definition.
>>
>>If A is a candidate key, then a functional dependency of the form B -> X
>>would hold where B is any superkey of A. Would it not?
>
> Yes, it would. But note that the definition above requires that *for
> all* non-trivial dependencies of the form A->X it holds that A is a
> candidate key.
Exactly, which was my point. Stating it as a candidate key generally
ceates a contradiction unless we accept the unreasonable limitation that
every candidate key comprises a superset of the relation's attributes.
Hence the familiar definition in terms of superkeys instead.
Received on Mon Sep 25 2006 - 08:41:56 CDT