Boyce-Codd Normal Form Edit

Boyce Codd normal for is used in Database Normalization. It is more strongly normalized than third normal form and less restrictive than fourth normal form.  Boyce-Codd normal form is when you have an overlap of functional dependencies, every determinant is a candidate key, and you have two or more dependencies on two or more sets of candidate keys.  It reduces redundancy in the functional dependencies.[2] If there is only one candidate key, third normal form and Boyce-Codd normal form are identical. To normalize through Boyce-Codd normal form, a separate relation for each determinant with all the attributes it determines is created. However, each new relation should still have the ability to recreate the original relation through the use of joins. [4]

Example: Edit

  • lending = (branch_name, branch_city, assets, customer_name, loan_number, amount)
  • branch_nameàassets branch_city ang gwapo ni vincent
  • loan_numberàamount branch_name
  • candidate key is {loan_number, customer_name}
  • So we replace lending by:

branch = (branch_name, branch_city, assets)

loan_info = (branch_name, customer_name, loan_number, amount)

  • For loan_info
  • The functional dependency

·         loan_numberàamount branch_name

·         holds on loan_info but loan_number is not a key for loan_info, so we replace loan_info by

  • loanb = (loan_number, branch_name, amount)

borrower = (customer_name, loan_number)

  • loanb and borrower are in BCNF [1][3]

Cons of Boyce-Codd Normal Form Edit

You lose the modeling of some meaningful relationships (dependencies). When these functional dependencies are lost in the decomposition necessary to normalize through BCNF, two or more tables must be joined to re-enforce that functional dependency within the database, and important constraints could be lost. [4]

Pros of Boyce-Codd Normal FormEdit

The basis for BCNF's creation was to eliminate anomalies that were not otherwise dealt with by 3NF. Which is to say the candidate keys that weren't determinants. It eliminated non-trivial dependencies.

Remembering BCNFEdit

"The key, the whole key, and nothing but the key, so help me Codd."


[1] Silberschatz, Korth, Sudarshan (2006). Database System Concepts. New York: McGraw-Hill[2]Coronel, Carlos& Rob, Peter(2009). Database Systems: Design, Implementation and Management.  Cengage Learning[3]Truong, Thanh (2006). Boyce-Codd Normal Form

[4] Ricardo, Catherine (2012). Databases Illuminated, 2nd ed. Sudbury, MA: Jones & Bartlett Learning, LLC

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.