What Is Boyce-Codd Normal Form (BCNF)?

BCNF minimizes redundancies and increases data integrity through organization

A businessman at work
Visage/Stockbyte/Getty Images

The goal of BCNF is to increase data integrity by organizing the columns and tables of a relational database in order to achieve database normalization. Database normalization occurs when there are established relationships between tables and the tables have defined rules in order to make the database more flexible and to preserve the data.

Origin of Boyce-Codd Normal Form

BCNF was created as an extension to the Third Normal Form, or 3NF, in 1974 by Raymond Boyce and Edgar Codd to create database schemas minimalize redundancies in order to reduce computational time.

At the time of BCNF's creation, Boyce was one of the key developers in Structured English Query Language (SQL) that improved data retrieval by using Codd's relational model.

Candidate Keys and BCNF

A relation is in BCNF if every determinant is a candidate key. Consider a database table that stores employee information and has the attributes <Employee_Id>, <First_name>, <Last_name>, and <Title>. In this table, the field <Employee_Id> determines first_name and last_name. Similarly, the tuple (<First_name>, <Last_name>) determines <Employee_id>.

Employee IdFirst nameLast nameTitle

The candidate key for this database is the <Employee_Id> because it's the only value that can't be used by another row.