# Re: BCNF: superkey or candidate key ?

Date: 26 Sep 2006 00:56:06 -0700

Message-ID: <1159257366.662041.197990_at_h48g2000cwc.googlegroups.com>

masong_at_sbcglobal.net wrote:

> "An Introduction to Database Systems", 8th Ed., C.J. Date, Jul 2003, p.368:

*> A relvar in in BCNF if and only if every nontrivial, left-irreducible FD has
**> a candidate key as its determinant.
**> Or less formally:
**> A relvar is in BCNF if and only if every determinant is a candidate key.
*

The less formal version is not correct, it should mention somehow that the determinant is somehow irreducible, otherwise it can be very misleading. This thread proves that. :-)

> To me the first definition dismisses the case where there are NO nontrivial

*> FDs and the relation schema should be deemed BCNF.
*

All correct definitions consider that case to be in BCNF.

> The ones that seem most

*> appealing are those such as the following (I think these come originally
**> from Zaniolo).
**>
**> "Database System Concepts", 5th Ed, Silberschatz/Korth/Sudarshan, May 2005,
**> p.272:
**> A relation scheme R is in BCNF with respect to a set F of function
**> dependencies if, for all functional dependencies in F+ of the form A ->B,
**> where A is a subset of R and B is a subset of R, at least one of the
**> following holds:
**> (a) A -> B is a trivial functional dependency (that is, B is a supset of A).
**>
**> (b) A is a superkey for schema R.
*

This one's equivalent with all the others you gave. You can see in Brian's post why.

> So an R that has only a two-field primary key, is in BCNF.

- Jan Hidders