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