Normalisation is a process used to produce the most optimal design for a database.
It requires that tables should be organised as so data is not duplicated in the same table or different tables; permitting complex queries to be made.
There are three fundamental stages.
1NF
- No repeating attributes
- Attributes must be atomic
2NF
- No partial dependencies
3NF
- No non-key dependencies