Базы данных

Схема и содержимое Videotape


Рассмотрим, что произойдет, если продолжительность видеокассеты 90987 изменится на 107. После этого одна из копий Elizabeth будет иметь отличную от двух других копий продолжительность — аномальная ситуация. Чтобы сохранить согласованность базы данных, всякая попытка изменить продолжительность видеокассеты должна сопровождаться также изменением продолжительности всех остальных видеокассет с тем же названием. Эта ситуация называется аномалией изменения.

Возможны еще два типа аномалий обновления: аномалии аставки и аномалии удаления. Аномалия вставки имеет место, когда добавление кортежа приводит к несогласованности. Например, добавление кортежа (102, 1/1/99, Elizabeth, costume drama, 110, PG-13) приводит к несогласованности в значении продолжительности копий фильма Elizabeth. Попытка добавить новый кортеж к отношению videotape должна отклоняться, если она приводит к возникновению несогласованности. По существу, перед каждой вставкой должен производиться поиск надлежащих значений для каждого повторяющегося атрибута. Аномалия удаления может быть самой коварной. Следует заметить, что если удалить видеокассету 123 (последняя строка на 5.1), то будут удалены не только атрибуты videold и dateAcquired видеокассеты 123, но также и вся информация о фильме Annie Hall. Удаление последней видеокассеты с копией некоторого фильма приведет к потере информации о самом фильме.

Эти аномальные ситуации являются следствием избыточности атрибутов. Схема, приведенная на 4.6, созданная по исправленной ER-диаграмме, представленной на 2.10, не содержит подобной избыточности, так как название, жанр и другие общие для кинофильма атрибуты вынесены в отдельную схему Movie.

2.5.3 класс сущностей videotape был модифицирован, т.е. разделен на два класса, videotape и Movie. Результатом явилось уменьшение избыточности в классах. Подобные декомпозиции позволяют добиться улучшения схем посредством устранения избыточности.

Комментарии закрыты