# Difference Between BCNF and 3NF

**BCNF vs. 3NF**

Boyce Codd normal form (also known as BCNF) is a normal form –that is a form that provides criteria for determining a table’s degree of vulnerability to logical inconsistencies and anomalies. This normal form is used in database normalisation. It is a bit stronger than its predecessor, the third normal form (also known as 3NF). A table is thought to be in BCNF if and only if for every one if its non-trivial functional dependencies –that is a boundary that is set between two sets of attributes in a relation taken from a database– is a superkey (a set of attributes of a relational variable that postulates that in all relations assigned to that specific variable there are no two distinct rows containing the same value for the attributes in that particular set). BCNF postulates that any table that fails to meet the criteria to be attributed as a BNCF is vulnerable to logical inconsistencies.

3NF is a normal form that is also used in database normalisation. It is thought that a table is in 3NF if and only if 1) the table is in second normal form (or 2NF, which is a first normal code, or 1NF, that has met the criteria to become a 2NF), and 2) every non-prime attribute of the table is non-transitively dependent on every key of the table (meaning it is not directly dependent on every key). There is another postulation of 3NF that is also used to define the differences between 3NF and the BCNF.

This theorem was conceived by Carlo Zaniolo in 1982. It states that a table is in 3NF if and only if for each functional dependency where X â†’ A, at least one of three conditions must hold: either X â†’ A, X is a superkey, or A is a prime attribute (which means A is contained within a candidate key –or a minimal superkey for that relation). This newer definition differs from the theorem of a BCNF in that the latter model would simply eliminate the last condition. Even as it acts as a newer version of the 3NF theorem, there is a derivation of the Zaniolo theorem. It states that X â†’ A is non-trivial. If that is true, let A be a noon-key attribute and also let Y be a key of R. If that holds then Y â†’ X. This means that A is not transitively dependent on Y if and only if X â†’ Y (or if X is a superkey.

Summary:

1. BCNF is a normal form in which for every one of a table’s non-trivial functional dependencies, is a superkey; 3NF is normal form in which the table is in 2NF and every non-prime attribute is non-transitively dependent on every key in the table.

- Difference Between VC++ and C++ - April 20, 2010
- Difference Between Aluminum and Carbon Arrows - April 15, 2010
- Difference Between SFTP and SCP - April 15, 2010

### Search DifferenceBetween.net :

Email This Post : If you like this article or our site. Please spread the word. Share it with your friends/family.

Very good article post.Thanks Again. Want more.