Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД лекции шаблон.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.08 Mб
Скачать
    1. Нормальные формы отношения

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

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

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

  • третья нормальная форма (3NF);

  • нормальная форма Бойса-Кодда (BCNF);

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

  • пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

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

  • каждая следующая нормальная форма в некотором смысле лучше предыдущей нормальной формы;

  • при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.

Ограничения нормальной формы связаны с понятием функциональной зависимости атрибутов. Дадим определение функциональной зависимости.

Пусть X и Y – атрибуты некоторого отношения R. Если в любой момент времени каждому значению X соответствует единственное значение Y, то Y функционально зависит от X (X→Y).

Атрибут Y функционально полно зависимости от составного атрибута X, если он функционально зависит от X и не зависит функционально от любого подмножества атрибута X.

Теперь введем определения НФ.

Определение 3. Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда каждое поле отношение содержит атомарное значение.

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

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

Определение 6. Отношение находится в нормальной форме Бойса-Кодда (НФБК), тогда и только тогда, когда любая функциональная зависимость между его атрибутами сводится к полной функциональной зависимости от вероятностного ключа.

Для получения качественной РБД в большинстве случаев достаточно приведение схемы её отношений в 3НФ или НФБК. Для достижения этого используют процесс нормализации, т.е. приведения отношения в требуемую НФ. Процесс нормализации схемы отношения, входящего в состав РБД, выполняется путём её декомпозиции, разбиения отношения на отношения с более простой схемой. Декомпозицией схемы отношения R называется замена её совокупностью схем отношений Аi таких, что

,

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

  • соединения без потерь

  • сохранение зависимостей.

Многозначные зависимости: Пусть А, В и С – подмножества атрибутов R . ВА, тогда и только тогда, когда множество значений В, соответствующее заданной паре (А,С) в R , зависит от А, но не зависит от С.

Теорема Фейгина: (более строгая форма теоремы Хита) Пусть А,В,С – множества атрибутов в R. R будет равна соединению ее проекций {A,B} и {A,C} тогда и только тогда, когда для R выполняется ВА,

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

Определение 7. Отношение R удовлетворяет зависимости соединения тогда и только тогда, когда любое допустимое значение R эквивалентно соединению ее проекций по подмножествам ее атрибутов.

Определение 8. Отношение R находится в 5НФ (проекционно-соединительной НФ) тогда и только тогда, когда каждая нетривиальная зависимость соединения (т.е. не совпадающая с R) подразумевается ее потенциальными ключами.

Процесс нормализации включает следующие шаги:

  1. Отношение в 1НФ разбить на проекции, которые позволяют исключить все функциональные зависимости, не являющиеся неприводимыми. Получаем набор отношений в 2НФ.

  2. Отношений в 2НФ разбиваем на проекции, в которых нет транзитивных зависимостей. Получаем набор отношений в 3НФ.

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

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

  5. Исключаем зависимости соединения для 4НФ.