Third normal form (3NF) is a database design principle originally defined by E.F. Codd in 1971. It is built on the First normal form (1NF) and Second normal form(2NF). A relation R is in third normal form if it is in second normal form and every non-prime attribute of R is non-transitively dependent on each candidate key of R.
3NF is a normal form used in database normalization originally defined by E.F. Codd in 1971. It is built on top of First normal form (1NF) and Second normal form (2NF). A table is in 3NF if and only if for each of its functional dependencies X → Y, at least one of the following conditions holds:
- X contains Y (that is, X → Y is trivial functional dependency), or
- X is a superkey, or
- every attribute in Y-X, the set difference between Y and X is a prime attribute is contained within a candidate key.
In other words it states that all non-key attributes should be determined by the candidate keys and not by any non-key attributes.
Normalization beyond 3NF
Most 3NF tables are free of update, insertion of deletion anomalies. Certain types of 3NF are affected by such anomalies. Some tables fail short of Boyce-Codd normal form (BCNF) or higher normal forms like 4NF, 5NF or 6NF.
Links