# Re: BCNF

From: David Portas <REMOVE_BEFORE_REPLYING_dportas_at_acm.org>

Date: Sat, 2 Aug 2008 12:39:36 +0100

Message-ID: <SLSdnckC2I3k2gnVnZ2dnUVZ8qTinZ2d@giganews.com>

Date: Sat, 2 Aug 2008 12:39:36 +0100

Message-ID: <SLSdnckC2I3k2gnVnZ2dnUVZ8qTinZ2d@giganews.com>

"DA Morgan" <damorgan_at_psoug.org> wrote in message
news:1217605733.949337_at_bubbleator.drizzle.com...

> aarklon_at_gmail.com wrote:

*>> Hi all,**>>*

*>> BCNF**>>**>> 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.

To be precise: A relation is in BCNF if and only if every non-trivial determinant is a SUPER key. Sometimes paraphrased as "arrows out of super keys".

3NF is arguably a mistake because it is concerned only with dependent non-prime attributes. BCNF is much more important than 3NF although it should be understood that BCNF is not dependency-preserving whereas 3NF is.

-- David PortasReceived on Sat Aug 02 2008 - 06:39:36 CDT