From: DA Morgan <>
Date: Fri, 01 Aug 2008 08:49:01 -0700
Message-ID: <> wrote:
> Hi all,
> the following is the definition is the definition of BCNF , which i
> saw in a schaum series book
> 1) The relation is 1 N.F
> 2) for every functional dependency of the form X -> A , we have
> either A C X or X is a super key of r. in other words,
> every functional dependency is either a trivial dependency or in
> the case that the functional dependency is not trivial then X must
> be a super key.
> now my questions are as follows
> 1)
> we know that 2-ND normal form is all about separating partial
> dependencies and full dependencies.third normal form is all about
> removing transitive dependencies, in these lines can any one give
> simple/ easy to understand method/explanation for converting a
> relation in 3rd normal form to BCNF
> 2) how correct is the following definition of transitive
> dependencies
> transitive dependencies
> assume that A,B, and C are the set of attributes of a relation(R).
> further assume that the following
> functional dependencies are satisfied simultaneously : A -> B , B -/-

>> A, B -> C , and C -/-> A and A -> C

> observe that C -> B is neither prohibited nor required. if all these
> conditions are true, we will say that attribute C is transitively
> dependent on attribute on A

Personally I prefer the following definition:

Boyce Codd Normal Form (BCNF) is a further refinement of 3NF. In his later writings Codd refers to BCNF as 3NF. A row is in Boyce Codd normal form if, and only if, every determinant is a candidate key. Most entities in 3NF are already in BCNF.

BCNF covers very specific situations where 3NF misses inter-dependencies between non-key (but candidate key) attributes. Typically, any relation that is in 3NF is also in BCNF. However, a 3NF relation won't be in BCNF if (a) there are multiple candidate keys, (b) the keys are composed of multiple attributes, and (c) there are common attributes between the keys.

Daniel A. Morgan
Oracle Ace Director & Instructor
University of Washington (replace x with u to respond)
Puget Sound Oracle Users Group
Received on Fri Aug 01 2008 - 10:49:01 CDT

Original text of this message