Избыточное дублирование и аномалии

План
Принципы нормализации
Избыточное дублирование данных
Виды аномалий данных
Проблема обратимости

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

Принципы нормализации

  • В каждой таблице БД не должно быть повторяющихся полей;
  • В каждой таблице должен быть уникальный идентификатор (первичный ключ);
  • Каждому значению первичного ключа должна соответствовать достаточная
    информация о типе сущности или об объекте таблицы (например,
    информация об успеваемости, о группе или студентах);
  • Изменение значений в полях таблицы не должно влиять на информацию
    в других полях (кроме изменений в полях ключа).

Избыточность данных

Избыточность данных в БД относится к нежелательным явлениям,
поскольку ведет к увеличению объема памяти, необходимого для
физического хранения отношений. Избыточность вызывается, прежде
всего, дублированием данных.
Вот характерный пример отношения (табл. 6.1), содержащего
нежелательную избыточность:

Таблица 6.1. Отношение СТУДЕНТ

Номзачкн ФИОстудента Кодгруппы ФИО_старосты Куратор
20-Т-201 Иванов С.И. 20-Т-11 Рябов В.С. Доц. Фок И.И.
20-Т-215 Петров Я.Р. 20-Т-12 Сизов М.М. Доц. Докин С.С.
20-Т-217 Рябов В.С20-Т-11Рябов В.С. Доц. Фок И.И.
20-Т-211 Сенова А.Л. 20-Т-11 Рябов В.С.Доц. Фок И.И.

В данном отношении с первичным ключом Номзачкн в каждом
кортеже о каждом студенте из одной и той же группы повторяются
сведения о коде группы, старосте и кураторе.
При работе с отношениями, содержащими избыточные данные,
могут возникнуть проблемы, которые называются аномалиями
обновления.

Виды аномалий данных

Различают три вида аномалий в базе данных:

  • аномалии включения;
  • аномалии удаления;
  • аномалии модификации.

Аномалии включения
В приведенном выше отношении аномалии включения возникают
при попытке создать новую группу и ввести ее в отношение при том
условии, что в нее еще не зачислен ни один студент. Ввод такой
информации в подобной ситуации требует присвоения значения NULL
всем атрибутам описания студента, в том числе и атрибуту Номзачкн,
который является первичным ключом данного отношения. Но реализация
такой попытки приведет к нарушению категорней целостности, а значит,
система ее обязана отклонить.
Результатом анализа является вывод о том, что в отношении табл. 6.1
присутствуют аномалии включения, а, следовательно, это отношение
должно быть преобразовано таким образом, чтобы от них избавиться.
Структура отношений, содержащая ту же информацию, что и
отношение СТУДЕНТ, но лишенная аномалий включения, представлена в
табл. 6.2 и 6.3.

Таблица 6.2 Отношение СТУДЕНТ
Ном.зач.кн. ФИОстудента Кодгруппы
20-Т-201 Иванов С.И. 20-Т-11
20-Т-215 Петров Я.Р. 20-Т-12
20-Т-217 Рябов В.С. 20-Т-11
20-Т-211 Сенова А.Л. 20-Т-11

Таблица 6.3 Отношение ГРУППА
Кодгруппы ФИОстаросты Куратор
20-Т-11 Рябов В.С. Доц. Фок И.И.
20-Т-12 Сизов М.М. Доц. Докин С.С.

Аномалии удаления
Вернемся к анализу отношения, представленного в табл. 6.1. При
удалении из этого отношения кортежа:
20-Т-215 Петров Я.P. 20-T-12 Сизов М.М. Доц. Докин С.С.
из базы данных будут удалены все сведения о группе 20-Т-12. Такая
ситуация представляет собой аномалию удаления.
Для исключения из базы данных аномалии удаления это отношение
должно быть преобразовано. Причем преобразования должны быть
проведены точно такие же, какие были проведены для исключения
аномалии включения.

Аномалии модификации
Такая аномалия возникает при попытке изменить что-либо
касающееся сведений о группе обучения студента. Допустим, что в группе
20-Т-11 решили назначить нового старосту, например, Сенову А.Л.
В такой ситуации необходимо просмотреть все кортежи отношения и
в каждом кортеже значение атрибута ФИОстаросты заменить Рябов В.С. на Сенова А.Л. Появление аномалии модификации можно заблокировать, если опять же прибегнуть к преобразованию отношения из табл. 6.1. Эти преобразования точно такие же, которые были использованы для исключения аномалий включения и удаления. Действительно, смена старосты группы требует изменения значения атрибута ФИОстаросты
только в одном кортеже отношения табл. 6.3.

Проблема обратимости

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

Добавить комментарий

Ваш адрес email не будет опубликован.