4. Теория проектирования реляционных баз данных: функциональные зависимости, нормальные формы

https://www.youtube.com/watch?v=zqQxWdTpSIA

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

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

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: ◦ первая нормальная форма (1НФ или 1NF); ◦ вторая нормальная форма (2НФ или 2NF); ◦ третья нормальная форма (3НФ или 3NF); ◦ нормальная форма Бойса-Кодда (НФБК или BCNF); ◦ четвертая нормальная форма (4НФ или 4NF); ◦ пятая нормальная форма, или нормальная форма проекции-соединения (5НФ или 5NF или PJ/NF).

Основные свойства нормальных форм такие: ◦ каждая следующая нормальная форма в некотором смысле лучше предыдущей; ◦ при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

Процесс проектирования реляционной базы данных на основе метода нормализации преследует две основные цели: ◦ избежать избыточности хранения данных; ◦ устранить аномалии обновления отношений.

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

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

Функциональные зависимости

Определение 1. Пусть R - это отношение, а Х и Y - произвольные подмножества множества атрибутов отношения R. Тогда Y функционально зависимо от Х, что в символическом виде записывается как X -> Y ⇔ ∀ значение множества Х связано в точности с одним значением множества Y.

Левая и правая стороны ФЗ будут называются детерминантом и зависимой частью соответственно.

Определение 2. Пусть R является переменной-отношением, а Х и Y - произвольными подмножествами множества атрибутов переменной-отношения R. Тогда Х -> Y ⇔ ∀ допустимого значения отношения R ∀ значение Х связано в точности с одним значением Y.

Определение 2а. Пусть R(A1, A2, ..., An) - схема отношения. Функциональная зависимость, обозначаемая X -> Y между двумя наборами атрибутов X и Y, которые являются подмножествами R определяет ограничение на возможность существования кортежа в некотором отношении r. Ограничение означает, что для любых двух кортежей t1 и t2 в r, для которых имеет место t1[X] = t2[X], также имеет место t1[Y] = t2[Y].

Определение 3. ФЗ (X -> Y) тривиальная ⇔Y ⊆X.

Определение 4. Множество всех ФЗ, которые задаются данным множеством ФЗ S, называется замыканием S и обозначается символом S+.

Правила вывода определяются следующим образом:

  1. Правило рефлексивности: