Database normalization is a method of designing good relational databases. There are several "normal forms", each of which have rules which the database should be designed to meet. Codd originally specified three sets of criteria that different databases must meet: first, second and third normal form.