Problem solve Get help with specific problems with your technologies, process and projects.

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 last published in May 2001

Dig Deeper on Oracle DBA jobs, training and certification

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.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.