Поясните какие аномалии могут быть в базах данных?

-Аномалия обновления – появление в базе данных несогласованности данных при выполнении операций вставки, удаления, модификации записей.

-Аномалии модификации – появление записей с противоречащими значениями в некоторых столбцах при изменении значений соответствующих полей одной записи.

Для отношения Студент (ФИО, Группа, Староста), где в столбце Группа хранится полное название группы, а столбец Староста содержит ФИО старосты группы, изменение значения Староста (например, для устранения ошибки) может привести к существованию более одного старосты одной и той же группы.

-Аномалии удаления – удаление лишней информации при удалении записи.

Для отношения Студент (ФИО, Группа, Староста), удаление студента может привести к удалению из БД и ФИО старосты группы (в том случае, если для данной группы запись – единственная).

-Аномалии вставки – добавление лишней информации или возникновение противоречащих значений в некоторых столбцах при вставке новой записи.

Для отношения Студент (ФИО, Группа, Староста), где в столбце Группа хранится полное название группы, а столбец Староста содержит ФИО старосты группы, добавление названия новой группы повлечет обязательное определение ФИО студента и старосты, в то время как эти данные могут быть пока не известны. В то же время, при добавлении нового студента значение поля Староста в новой записи может не совпадать со значением данного поля для другого студента этой же группы.

Для сохранения корректности БД необходимо устранять данные аномалии, выполняя дополнительные операции по просмотру и модификации данных. Потери в производительности, вызванные выполнением действий по устранению аномалий, могут быть весьма существенными, при этом данные потери, в большинстве случаев, не являются неизбежными, а определяются неудачным выбором схемы БД.

Указанные аномалии связаны с избыточностью данных в БД. Следует различать избыточное и неизбыточное дублирование данных.

Неизбыточное дублирование возникает из необходимости хранить идентичные данные, поскольку важен сам факт их идентичности, и удаление хотя бы одного представителя идентичных данных приведет к невосполнимой потере информации. В качестве примера неизбыточного дублирования можно рассмотреть дублирование значений атрибута Группа в отношении Студент (ФИО, Группа). При удалении одного из повторяющихся значений Группы будет потеряна информация о принадлежности одного студента к данной группе.

Избыточное дублирование (избыточность) обычно связано с необходимостью задания значения всех атрибутов отношения, при этом дублируемые данные не являются необходимыми, и в случае потери (удаления) могут быть восстановлены по данным одного или нескольких отношений БД. в качестве примера избыточного дублирования можно рассмотреть указать дублирование значений атрибута Староста в отношении Студент (ФИО, Группа, Староста). Для каждого студента некоторой группы значение атрибута Староста может быть восстановлено по значениям данного атрибута других студентов рассматриваемой группы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: