Veritabanı normalizasyonu, 1970'lerde Edgar F. Codd tarafından ortaya atılan, veritabanı tasarımına yönelik bir yaklaşımdır. İlişkisel veritabanları olarak bilinen belirli veritabanları, verilerin ayrı gruplar halinde saklanmasına izin verir. Her bir grup genellikle tablo olarak adlandırılır. Yararlı bilgiler sağlamak için bu gruplar birbirlerine bağlanır. Örneğin, öğrenciler bir grupta ve sınıflar başka bir grupta saklanabilir. Bir öğrencinin bir sınıfa kayıtlı olduğunu göstermek için, bir gruptan diğerine bir "ilişki" kurulur. Bir öğrencinin, her birine kayıtlı olduğu birçok sınıfla ilişkisi olabilirken, bir sınıfın da birçok öğrenciyle ilişkisi olabilir.
Geleneksel bir alternatif, tüm verilerin bir elektronik tabloda olduğu gibi bir araya getirildiği "düz dosya veritabanı "dır. Düz dosya veritabanlarının sorunu, çok fazla boş alana sahip olabilmeleri ve her giriş için tekrarlanması gereken çok fazla bilgi olmasıdır. Bu, veritabanının olması gerekenden daha büyük olduğu anlamına gelir ve veritabanının hata içerme olasılığını artırır. İlişkisel veritabanları, verileri gruplara ayırarak hata olasılığını azaltır ve gereğinden fazla yer kaplamaz. Ancak işe yaraması için iyi tasarlanmış olması gerekir.
Veritabanı normalizasyonu, iyi ilişkisel veritabanları tasarlamanın bir yöntemidir. Her biri veritabanının karşılaması gereken kurallara sahip olan çeşitli "normal formlar" vardır. Codd başlangıçta farklı veritabanlarının karşılaması gereken üç kriter seti belirlemiştir: birinci, ikinci ve üçüncü normal form.
Bir ilişki (veya "veritabanı tablosu") belirli bir normal biçimi karşılıyorsa, veri bütünlüğünü etkileyecek belirli değişikliklere karşı savunmasız değildir. Böyle bir kriter kümesini karşılamanın dezavantajı, genellikle veritabanından belirli verilerin sorgulanmasının daha zor hale gelmesidir.