La normalisation des bases de données est une approche de la conception des bases de données qui a été introduite par Edgar F. Codd dans les années 1970. Certaines bases de données, appelées bases de données relationnelles, permettent de stocker des données dans des groupes séparés. Chaque groupe est communément appelé une table. Pour fournir des informations utiles, ces groupes sont reliés les uns aux autres. Par exemple, les élèves peuvent être stockés dans un groupe et les classes dans un autre groupe. Pour montrer qu'un étudiant est inscrit dans une classe, une "relation" est établie d'un groupe à l'autre. Un élève peut avoir une relation avec plusieurs classes, chacune d'entre elles étant inscrite, tandis qu'une classe a une relation avec plusieurs élèves.
Une alternative traditionnelle est la "base de données en fichier plat", où toutes les données sont regroupées comme dans un tableur. Le problème des bases de données à fichiers plats est qu'elles peuvent comporter beaucoup d'espaces vides et qu'il y a beaucoup d'informations qui doivent être répétées pour chaque entrée. Cela signifie que la base de données est plus grande qu'elle ne doit l'être, et il est donc plus probable qu'elle contienne des erreurs. Les bases de données relationnelles, en divisant les données en groupes, réduisent le risque d'erreurs et ne prennent pas plus de place que nécessaire. Mais pour qu'elle fonctionne, elle doit être bien conçue.
La normalisation des bases de données est une méthode permettant de concevoir de bonnes bases de données relationnelles. Il existe plusieurs "formes normales", chacune d'entre elles ayant des règles auxquelles la base de données doit répondre. A l'origine, Codd a spécifié trois séries de critères auxquels les différentes bases de données doivent répondre : la première, la deuxième et la troisième forme normale.
Si une relation (ou "table de base de données") répond à une certaine forme normale, elle n'est pas vulnérable à certaines modifications, qui affecteront l'intégrité des données. L'inconvénient de répondre à un tel ensemble de critères est généralement que l'interrogation de certaines données de la base de données deviendra plus difficile.