Нормализация баз данных - это подход к проектированию баз данных, который был введен Эдгаром Ф. Коддом в 1970-х годах. Некоторые базы данных, известные как реляционные, позволяют хранить данные в отдельных группах. Каждая группа обычно называется таблицей. Чтобы предоставить полезную информацию, эти группы связаны друг с другом. Например, ученики могут храниться в одной группе, а классы - в другой. Чтобы показать, что ученик записался в класс, устанавливается "связь" между одной группой и другой. Ученик может иметь связь со многими классами, в каждый из которых он будет зачислен, в то время как класс будет иметь связь со многими учениками.
Традиционной альтернативой является "плоская файловая база данных", где все данные группируются вместе, как в электронной таблице. Проблема с плоскими файловыми базами данных заключается в том, что в них может быть много пустых мест, и для каждой записи приходится повторять много информации. Это означает, что база данных больше, чем должна быть, и это делает более вероятным, что база данных будет содержать ошибки. Реляционные базы данных, разбивая данные на группы, снижают вероятность возникновения ошибок и не занимают больше места, чем необходимо. Но чтобы она работала, она должна быть хорошо спроектирована.
Нормализация баз данных - это метод проектирования хороших реляционных баз данных. Существует несколько "нормальных форм", каждая из которых имеет правила, которым должна соответствовать база данных. Изначально в Codd было указано три набора критериев, которым должны удовлетворять разные базы данных: первая, вторая и третья нормальная форма.
Если какое-либо отношение (или "таблица базы данных") соответствует определенной нормальной форме, то оно не подвержено определенным модификациям, которые могут повлиять на целостность данных. Недостатком соответствия такому набору критериев обычно является то, что запрос определенных данных из БД будет затруднен.