Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции БД, ИС, ИТ (Беликова).doc
Скачиваний:
101
Добавлен:
27.05.2013
Размер:
528.38 Кб
Скачать

4. Метод нормальных форм. Выявление зависимостей между атрибутами. Нормализация отношений.

Теория реляционных БД обладает мощным инструментом, который способен помочь разработчику оптимальным образом спроектировать структуру отношений БД. Этот инструмент - метод нормализации отношений.

Рассмотрим основные виды зависимостей между атрибутами отношений: функциональные, транзитивные и многозначные.

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

Функциональная зависимость. Атрибут Вфункционально зависитот атрибута А, если каждому значению А со­ответствует в точности одно значение В.

Математически функциональная зависимость В от А обозначается записью А->В. Это означает, что во всех кортежах с одинаковым значением атрибута А атрибут В будет иметь также одно и то же значение. Отметим, что А и В могут быть составными - состоять из двух и более атрибутов.

Функциональная взаимозависимость.Если существует функциональная зави­симость вида А->В и В->А, то между А и В имеется взаимно однозначное соответствие, или функциональная взаимозависимость. Наличие функциональной взаимо­зависимости между атрибутами А и В обозначим как А<->В или В<->А.

Частичной функциональной зависимостьюназы­вается зависимость не ключевого атрибута от части составного ключа. Альтернативным вариантом являетсяполная функциональная зависимостьне ключевого атрибута от всего составного ключа.

Атрибут С зависит от атрибута А транзитивно(существуеттранзитивная зависимость),если для атрибутов А, В, С выполняются условия А->В и В->С, но обратная зависимость отсутствует.

Между атрибутами может иметь место многозначная зависимость. В отношении RатрибутBмногозначно зависитот атрибута А, если каждому значениюAсоответствует множество значений В, не связанных с другими атрибутами изR. Например, пусть преподаватель ведет несколько предметов, а каждый предмет может вестись несколькими преподавателями, тогда имеет место зависимость ФИО<->Предмет.

Взаимно независимые атрибуты.Два или более атрибута называются взаимно независимыми, если ни один из этих атрибутов не является функционально зависимым от других атрибутов.

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

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

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

С формальной точки зрения нормализацию модно представить как последовательный процесс разбиения и преобразования некоторого небольшого исходного набора таблиц для построения набора взаимосвязанных таблиц в нормальных формах.

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

Выделяют следующую последовательность нормальных форм:

  • первая нормальная форма (1 НФ);

  • вторая нормальная форма (2НФ);

  • третья нормальная форма (3НФ).

  • усиленная третья нормальная форма, или нормальная форма Бойса-Кодда (БКНФ);

  • четвертая нормальная форма (4НФ);

  • пятая нормальная форма (5НФ).

Первая нормальная форма.Отношение находится в 1НФ, если все его атрибуты являются простыми (имеют единственное значение).

Вторая нормальная формаосновывается на понятии полной функциональной зависимости. Отношение находится в 2НФ, если оно находится в 1НФ и все неключевые атрибуты функционально полно зависят от первичного ключа (составного). Для устранения частичной зависимости и перевода отношения в 2НФ необходимо, ис­пользуя операцию проекции ( проекция - вертикальное подмножество), разложить его на несколько отношений следующим образом:

  • построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от первичного ключа;

  • построить проекции на части составного первичного ключа и атрибуты, завися­щие от этих частей. В результате получим два отношения R1 иR2 в 2НФ.

Третья нормальная форма.

Определение 1. Отношение находится в 3НФ, если оно находится в 2НФ и каждый не ключевой атрибут не транзитивно зависит от первичного ключа.

Определение 2. Отношение находится в 3НФ в том и только в том случае, если все не ключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.

Для преобразования из 2НФ в 3НФ таблицу-отношение разделяют на две или более проекции так, чтобы конечные поля-атрибуты в цепочках транзитивной зависимости вынести в отдельные таблицы, связав разделившиеся части таблицы внешними ключами по полям-атрибутам, находящимся внутри цепочек транзитивной зависимости.

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