Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭУМКД_БД_1.doc
Скачиваний:
15
Добавлен:
23.09.2019
Размер:
4.19 Mб
Скачать

3.4.4. Примеры аномалий

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

Пусть у нас есть отношение:

ПОСТАВКИ (Поставщик, Адрес, Товар, Количество, Стоимость)

Обновление. Если Поставщик поставляет несколько видов товара, то значение атрибута Адрес повторяется для каждого кортежа и, следовательно, при изменении адреса поставщика необходимо изменить значение этого атрибута во всех этих кортежах. Иначе будет нарушена целостность данных.

Удаление. Если Поставщик прекращает поставку товаров на некоторое время, то кортежи со всеми его поставками удаляются. При этом происходит потеря реквизитов поставщика – Адреса и Наименования.

Вставка. Если договор на поставку уже заключён, а поставка ещё не произведена, то невозможно включить в рассматриваемое отношение значения атрибутов Поставщик и Адрес, поскольку нет сведений о поставках (проблема интерпретации нуль-значений).

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

Некоторые проблемы избыточности данных можно разрешить, заменив, например, исходное отношение ПОСТАВКИ на два новых отношения:

отношение

ПОСТАВЩИК (Поставщик, Адрес)

и отношение

ПОСТАВКА (Поставщик, Товар, Количество, Стоимость)

Однако в целом остаётся ряд вопросов, на которые теория реляционных БД не даёт удовлетворительных ответов:

  • Как найти хорошую замену для плохой схемы отношений?

  • Как определить, является ли выбранная замена выгодной?

  • Как создать схему, обеспечивающую наилучшую производительность?

Например, для того чтобы выполнить запрос, использующий данные из двух таблиц, необходимо построить соединение этих таблиц, которое является дорогостоящей операцией с точки зрения числа выполняемых операций ввода/вывода.

3.4.5. Нормальные формы

Теория функциональных зависимостей (ФЗ) позволяет установить определённые требования к схемам отношений в реляционной БД.

Эти требования формулируются в терминах свойств отношений и называются нормальными формами схем отношений.

Каждая нормальная форма отношений связана с определённым классом ФЗ, которые представлены в отношениях.

Одним из очевидных способов устранения потенциальной противоречивости данных в отношениях логической модели реляционной БД является их разбиение на два или более отношения, в каждом из которых присутствует только одна ФЗ.

Это возможно, поскольку теория ФЗ утверждает, что существует минимальное покрытие множества ФЗ базы данных, т.е. минимальный набор ФЗ, из которых можно вывести все остальные.

Каждой ФЗ из минимального покрытия можно отвести по самостоятельному отношению.

Однако:

  • во-первых, для заданного множества ФЗ может существовать несколько минимальных покрытий (выбор среди возможных альтернатив);

  • во-вторых, для практики важно иметь наглядный способ построения минимального покрытия.

Процесс устранения потенциальной противоречивости и избыточности данных в отношениях реляционной БД называется нормализацией исходных схем отношений.

Нормализация отношений заключается в выполнении декомпозиции или синтеза отношений и назначении ключей отношений в соответствии с определёнными правилами, гарантирующими целостность отношений БД.

Требование минимальности числа отношений, т.е. построения минимального покрытия ФЗ обычно является опциональным.

Но! На минимальном покрытии, как правило, не может быть достигнута высокая производительность обработки запросов.

Почему нормализация схем отношений важна для проектирования реляционных БД?

Многочисленные испытания показали, что нормализация схем отношений даёт наилучший результат при моделировании предметной области с использованием реляционной модели данных.

При этом не вводится большого числа ограничений, не искажаются данные.

Таким образом, нормализация отношений является методом удаления из отношения ФЗ, которые приводят к аномалиям модификации данных.

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

Язык нормальных форм констатирует наличие или отсутствие определённых ФЗ в отношениях реляционной БД и указывает на уровень избыточности и надёжности данных в нормализованных отношениях.

Методы нормализации отношений основываются на применении понятия ФЗ и способов манипулирования ими.

При выполнении реляционных операций над отношениями в БД каждый тип ФЗ может порождать опредёленный тип аномалий, который будет нарушать целостность данных в БД.

Нормальная форма (НФ) представляет собой ограничение на схему базы данных, вводимое с целью устранения определённых нежелательных свойств при выполнении реляционных операций.

Различают несколько типов нормальных форм. Каждая из них ограничивает присутствие определённого класса ФЗ в отношении и устраняет присущие этому классу ФЗ аномалии в выполнении реляционных операций.

Примечание. Глагол «ограничивает» в терминологии баз данных означает набор процедур, направленных на достижение определённых свойств объекта путем сужения области его действия.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]