Software & Apps > MS Office What Is Boyce-Codd Normal Form (BCNF)? BCNF minimizes redundancies and increases data integrity By Mike Chapple Mike Chapple Twitter Writer University of Idaho Auburn University Notre Dame Former Lifewire writer Mike Chapple is an IT professional with more than 10 years' experience cybersecurity and extensive knowledge of SQL and database management. lifewire's editorial guidelines Updated on July 12, 2020 Tweet Share Email MS Office Word Excel Powerpoint Outlook The goal of Boyce-Codd Normal Form 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 when the tables have defined rules to make the database more flexible and to preserve the data. gilaxia/Getty Images The goals of database normalization are to eliminate redundant data and to ensure data dependencies make sense. A database is normalized when the same data is not stored in more than one table and when only related data is stored in a table. Origin of Boyce-Codd Normal Form Following a series of guidelines ensure that databases are normalized. These guidelines are referred to as normal forms and are numbered from one through five. A relational database is described as normalized if it meets the first three forms: 1NF, 2NF, and 3NF. BCNF was created as an extension to the third normal form, or 3NF, in 1974 by Raymond Boyce and Edgar Codd. The men were working to create database schemas that minimalize redundancies with the goal of reducing computational time. The third normal form removes columns that are not dependent on the primary key in addition to meeting the guidelines in the first and second normal forms. BCNF, which is sometimes referred to as 3.5NF, meets all the requirements of 3NF and requires that candidate keys not have any dependency on other attributes in a table. At the time of BCNF's creation, Boyce was one of the key developers of Structured English Query Language, later standardized as SQL, which improved data retrieval by using Codd's relational model. In this model, Codd posited that structural complexity of databases could be reduced, which meant queries could be more powerful and flexible. Using his relational database insights, Codd defined 1NF, 2NF, and 3NF guidelines. He teamed with Boyce to define BCNF. Candidate Keys and BCNF A candidate key is a column or combination of columns in a table that forms a unique key in the database. The combination of attributes identifies a database record without referring to any other data. Each table can contain multiple candidate keys, any one of which can qualify as the primary key. A table contains only one primary key. Candidate keys must be unique. 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 Id First name Last name Title 13133 Emily Smith Manager 13134 Jim Smith Associate 13135 Emily Jones Associate The candidate key for this database is the because it's the only value that can't be used by another row. FAQ What are the requirements for Boyce-Codd Normal Form? A table meets Boyce-Codd Normal Form (BCNF) requirements if all determinants are candidate keys and the relation is in Third Normal Form (3NF). 3NF meets the rules for First Normal Form (1NF) and Second Normal Form (2NF), and all columns are dependent on the primary key. What's the difference between Fourth Normal Form and Boyce-Codd Normal Form? Fourth Normal Form (4NF) is one level after Boyce-Codd Normal Form (BCNF) in database normalization. 4NF meets 3NF requirements just as BCNF does. However, 4NF tables have no multivalued dependencies, or many-to-one relationships, while BCNF tables might have these dependencies. Was this page helpful? Thanks for letting us know! Get the Latest Tech News Delivered Every Day Email Address Sign up There was an error. Please try again. You're in! Thanks for signing up. There was an error. Please try again. Thank you for signing up! Tell us why! Other Not enough details Hard to understand Submit More from Lifewire Database Normalization Basics What Are Database Dependencies? Full Functional Dependency in Database Normalization Definition of Database Relation Putting a Database in Third Normal Form (3NF) What Is a Database Relationship? Glossary of Common Database Terms Putting a Database in First Normal Form Basic Keys That Make Database Management Easy One-to-Many Relationships in a Database What is MySQL? What Is a Primary Key? What Is Transitive Dependency in a Database Databases for Beginners Introduction to Database Relationships What Is the Definition of a Database Query?