Re: BCNF: superkey or candidate key ?
Date: 25 Sep 2006 06:11:45 -0700
Message-ID: <1159189905.775203.69200_at_m73g2000cwd.googlegroups.com>
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.
- Jan Hidders