Я пытаюсь объяснить здесь нормализацию в терминах непрофессионала. Во-первых, это то, что относится к реляционной базе данных (Oracle, Access, MySQL), так что это не только для MySQL.
Нормализация означает, что каждая таблица имеет единственные минимальные поля и избавлена от зависимостей. Представьте, что у вас есть запись о сотруднике, и каждый сотрудник принадлежит к отделу. Если вы храните отдел как поле вместе с другими данными сотрудника, у вас возникает проблема - что произойдет, если отдел будет удален? Вы должны обновить все поля отдела, и есть вероятность ошибки. А что если у некоторых сотрудников нет отдела (возможно, недавно назначенного?). Теперь будут нулевые значения.
Таким образом, нормализация, вкратце, состоит в том, чтобы не иметь полей, которые были бы нулевыми, и убедиться, что все поля в таблице принадлежат только одной области данных, которые описаны. Например, в таблице сотрудника поля могут быть идентификатором, именем, номером социального страхования, но эти три поля не имеют никакого отношения к отделу. Только идентификатор сотрудника описывает, к какому отделу принадлежит сотрудник. Таким образом, это означает, что в каком отделе сотрудник должен находиться в другой таблице.
Вот простой процесс нормализации.
EMPLOYEE ( < employee_id >, name, social_security, department_name)
Это не нормализовано, как объяснено. Нормализованная форма может выглядеть как
EMPLOYEE ( < employee_id >, name, social_security)
Здесь таблица Employee отвечает только за один набор данных. Так, где мы храним, к какому отделу принадлежит сотрудник? В другой таблице
EMPLOYEE_DEPARTMENT ( < employee_id >, department_name )
Это не оптимально. Что если название отдела изменится? (это происходит в правительстве США все время). Следовательно, лучше сделать это
EMPLOYEE_DEPARTMENT ( < employee_id >, department_id )
DEPARTMENT ( < department_id >, department_name )
Есть первая нормальная форма, вторая нормальная форма и третья нормальная форма. Но если вы не изучаете курс по БД, я обычно просто выбираю наиболее нормализованную форму, какую только могу понять.
Надеюсь, это поможет.