La normalización de bases de datos es un método de diseño de bases de datos introducido por Edgar F. Codd en los años setenta. Algunas bases de datos, denominadas relacionales, permiten almacenar los datos en grupos separados. Cada grupo suele denominarse tabla. Para proporcionar información útil, estos grupos están conectados entre sí. Por ejemplo, los alumnos pueden almacenarse en un grupo y las clases en otro. Para mostrar que un alumno está matriculado en una clase, se establece una «relación» entre un grupo y otro. Un alumno podría tener una relación con muchas clases, en cada una de las cuales estaría matriculado, mientras que una clase tendría una relación con muchos alumnos.
Una alternativa tradicional es la «base de datos de archivos planos», en la que todos los datos se agrupan como en una hoja de cálculo. El problema de las bases de datos de archivos planos es que pueden tener muchos espacios en blanco y hay mucha información que debe repetirse para cada entrada. Esto significa que la base de datos es más grande de lo necesario y hace más probable que contenga errores. Las bases de datos relacionales, al dividir los datos en grupos, reducen la posibilidad de que se produzcan errores y no ocupan más espacio del necesario. Pero para que funcione tiene que estar bien diseñada.
La normalización de bases de datos es un método para diseñar buenas bases de datos relacionales. Existen varias «formas normales», cada una de las cuales tiene reglas que la base de datos debe cumplir. Codd especificó originalmente tres conjuntos de criterios que deben cumplir las distintas bases de datos: primera, segunda y tercera forma normal.
Si una relación (o «tabla de base de datos») cumple una determinada forma normal, no es vulnerable a ciertas modificaciones, que afectarán a la integridad de los datos. El inconveniente de cumplir una serie de criterios de este tipo suele ser que la consulta de determinados datos de la base de datos será más difícil.