Brent
В базе данных есть несколько стандартных типов аномалий. Это не обязательно должна быть реляционная база данных, те же аномалии присутствуют в любой базе данных. Правильно спроектированная реляционная база данных специально направлена на устранение этих аномалий.
Если база данных не нормализована должным образом, она подвержена аномалиям при вставке, обновлении и удалении.
Аномалия обновления возникает, когда одни и те же данные хранятся в нескольких записях и необходимо внести изменения. Если обновляются только некоторые записи, происходит ошибка обновления - например, мы можем записать двух учителей как ведущих один и тот же класс. Если вы имеете дело с сотнями записей, это вполне вероятно.
Если вы хотите записать некоторую информацию до того, как она понадобится, например, имя учителя для класса, в котором в настоящее время нет зачисленных учеников, и имя учителя записывается только рядом с каждым учеником, а не в отдельной таблице, тогда без зачисленных учеников вы не можете добавить информацию об учителе. Это аномалия вставки.
Аномалия удаления возникает не тогда, когда вы что-то удаляете случайно, но при удалении записи также удаляется единственный экземпляр некоторых других данных. Поэтому, если мы записали данные о классе вместе с данными ученика, зарегистрировали только одного ученика, а затем этот ученик ушел, мы также удалим информацию о классе.
Нормализация реляционной базы данных предназначена для решения этих проблем.