Q

What is the Boyce-Codd normal form?

Could you provide information about the Boyce-Codd normal form?

The Boyce-Codd normal form (abbreviated BCNF) is a "key heavy" derivation of the third normal form. The simplest way I can think to define it is if the key uniquely identifies a row, but the key includes more columns than are actually required to uniquely identify a row, then a table is in BCNF. For example:

CREATE TABLE t_employees1 (
   employee_id    INT         IDENTITY
,  last_name      VARCHAR(25) NOT NULL
,  first_name     VARCHAR(25) NOT NULL
   CONSTRAINT XPKt_employees1
      PRIMARY KEY (employee_id, last_name, first_name)
--  other columns as needed
   )

This example of the t_employees1 table is in BCNF.  To coax it into 3NF (third normal form), I would use:

CREATE TABLE t_employees2 (
   Employee_id     INT         IDENTITY
   CONSTRAINT XPKt_employees2
      PRIMARY KEY (employee_id)
,  last_name       VARCHAR(25) NOT NULL
,  first_name      VARCHAR(25) NOT NULL
--  other columns as needed
   )

For More Information


This was first published in May 2001
This Content Component encountered an error

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchDataManagement

SearchBusinessAnalytics

SearchSAP

SearchSQLServer

TheServerSide

SearchDataCenter

SearchContentManagement

SearchFinancialApplications

Close