A series of steps followed to obtain a database
design that allows for efficient access and storage
of data in a relational database
. These steps reduce data redundancy and the chances of data becoming inconsistent.
in a relational database
is said to be in normal form if it satisfies certain constraints
. Codd's original work defined three such forms but there are now five generally accepted steps of normalisation. The output of the first step is called First Normal Form (1NF), the output of the second step is Second Normal Form (2NF), etc.
First Normal Form eliminates repeating groups by putting each value of a multi-valued attribute into a new row.
Second Normal Form eliminates functional dependencies on a partial key
by putting the fields in a separate table from those that are dependent on the whole key
Third Normal Form eliminates functional dependencies on non-key fields by putting them in a separate table. At this stage, all non-key fields are dependent on the key, the whole key and nothing but the key.
Fourth Normal Form separates independent multi-valued facts stored in one table into separate tables.
Fifth Normal Form breaks out data redundancy that is not covered by any of the previous normal forms.
[What about non-relational databases?]