Normalization Forms

  • This was introduced by Edgar F. Codd.

1NF First Normal Form

Definition

  • A relation (or a table, in SQL) can be said to be in first normal form if each field is atomic, containing a single value rather than a set of values or a nested table.

  • In other words, a relation complies with first normal form if no attribute domain (the set of values allowed in a given column) has relations as elements.

Reference

Second Normal Form

Definition

  • A relation (or a table, in SQL) is in 2NF if it is in first normal form (1NF) and contains no partial dependencies.

  • A partial dependency occurs when a non-prime attribute (that is, one not part of any candidate key) is functionally dependent on only a proper subset of the attributes making up a candidate key.

  • To be in 2NF, a relation must have every non-prime attribute depend on the whole set of attributes of every candidate key.

Reference

Third Normal Form & BCNF

3rd NF

Definition

  • A relation (or table, in SQL) is in third normal form if it is in second normal form and also lacks non-key dependencies, meaning that no non-prime attribute is functionally dependent on (that is, contains a fact about) any other non-prime attribute.

  • In other words, each non-prime attribute must depend solely and non-transitively on each candidate key.

BCNF

Definition

  • A 3NF table that does not have multiple overlapping candidate keys is guaranteed to be in BCNF.

  • Depending on what its functional dependencies are, a 3NF table with two or more overlapping candidate keys may or may not be in BCNF.

Reference

Reference

https://www.datacamp.com/tutorial/normalization-in-sql

Last updated