Нормализация отношений. Нормализация отношений– пошаговый, обратимый процесс анализа отношений на основе их первичного ключа (или потенциальных ключей) и функциональных зависимостей
Нормализация отношений– пошаговый, обратимый процесс анализа отношений на основе их первичного ключа (или потенциальных ключей) и функциональных зависимостей с последующей декомпозицией (разложением) исходных отношений.
Существует несколько причин, почему в БД следует использовать только нормализованные отношения. Прежде всего, нормализованные отношения позволят предотвратить возможность возникновения аномалий обновления, удаления и вставки, а также предотвратить излишнюю избыточность данных.
Избыточностьданных всегда свидетельствует о возможности модифицировать только часть требуемых данных с помощью операции обновления, в то время как существует высокая вероятность того, что остальные данные останутся в первоначальном состоянии, что приводит к их противоречивости.
Отношение может характеризоваться как явной, так и неявной избыточностью данных. Явная избыточностьзаключается в том, что одни и те же значения одного или нескольких атрибутов могут появляться в отношении несколько раз. Явная избыточность довольно легко обнаруживается, что позволяет ее устранить практически сразу, как только начнется заполнение данного отношения. Неявная избыточность, где имеется неявная зависимость между атрибутами. Рассмотрим пример. Пусть имеется таблица, которая хранит информацию о посетителях гостиницы: в какой комнате остановился посетитель и какой в этой комнате телефон:
Таблица 3.1. Пример неявной избыточности
№ гостя | Комната | Телефон |
23-12 | ||
21-13 | ||
24-14 | ||
23-12 |
В данном случае неявная избыточность обнаруживается в том, что один и тот же № телефона имеют гости, живущие в одной комнате. Если поменяется номер у гостя №1, то у гостя № 4 - не поменяется, отсюда следует противоречие: в одной комнате два разных номера.
Аномалия добавлениясвязана со следующими противоречиями. Если появляется необходимость включить в БД кортеж с нулевыми (пустыми) значениями некоторых атрибутов записи, то это приводит к отсутствию некоторой информации в базе. Более того, это может привести к ошибочному результату выполнения запроса, вызванному наличием пустых полей.
Аномалия удаленияв ненормализованных таблицах может привести к тому, что при удалении информации об одном объекте будет удалена также информация о каких-то других объектах. Например, при необходимости удалить один или несколько атрибутов записи приходится удалять всю запись целиком. Это в свою очередь приводит к исключению информации о данном объекте в БД в целом, хотя требовалось удалить лишь некоторую часть информации об объекте (несколько полей записи).
Основная цель нормализации – создание набора отношений с заданными свойствами:
1) между атрибутами не должно быть нежелательных функциональных зависимостей;
2) группировка атрибутов должна обеспечивать минимум дублирования данных.
Дата добавления: 2015-08-08; просмотров: 1034;