Логическое следование зависимостей
Определение. Пусть в отношении R имеется множество функциональных зависимостей F конкретная зависимость А ® С, которая не входит в F. Зависимость А ® С логически следует из зависимостей F, если она может быть выведена из F с помощью аксиом функциональных зависимостей. Также говорят, что зависимость А ® С выводима из F.
Например, если в R(A, B, C) и F состоит из А ® В, то из нее логически следуют (выводимы) следующие зависимости:
· (А, С) ® В -применяется свойство продолжения;
· (А, С) ® (В, С) - применяется свойство пополнения.
Определение. Пусть в отношении R имеется множество функциональных зависимостей F. Множество всех функциональных зависимостей, являющихся следствием (выводимыми) из F, называется (логическим) замыканием F, которое обозначается через F+. Очевидно, что F Í F+ и F+ = F++.
Все функциональные зависимости, входящие в замыкание, могут быть получены из исходных зависимостей применением аксиом 1), 2), 3). Поэтому эти аксиомы иногда называют правилами вывода.
Определение. Множество функциональных зависимостей F образует полное семейство зависимостей, если F = F+.
Определение. Два множества зависимостей F и G называются (логически) эквивалентными, если F+ = G+.
Определение. Пусть задано множество функциональных зависимостей F. Говорят, что множество функциональных зависимостей G образует базис зависимостей F или, то же самое, образует минимальное покрытие F, если G является таким минимальным подмножеством F, что G+ =F+.
Нормализация нужна в связи с тем, что отношения, находящиеся не в соответствующей нормальной форме, обладает некоторыми нежелательными свойствами. Нормализация предназначена именно для того, чтобы избавить отношения от этих свойств. Такие нежелательные свойства или, как еще их называют, аномалии возникают в связи с тем, что отношения могут содержать излишние функциональные зависимости. В связи с этим возникает вопрос о корректности существующей схемы отношения. Корректной считается схема, не содержащая нежелательные функциональные зависимости. В противном случае приходится прибегать к процедуре декомпозиции (разложения) отношения на множество других отношений. Цель этой процедуры – устранить внутри каждого из получаемых отношений нежелательные функциональные зависимости, а следовательно и аномалии. Именно это и составляет суть процесса нормализации. Другими словами, нормализация – это пошаговый обратимый процесс замены данной схемы отношений другой схемой, в которой отношения имеют более простую и регулярную форму.
Кодд первоначально определил три уровня нормализации, которые он назвал первой, второй и третьей нормальными формами. Впоследствии Фейджин определил четвертую нормальную форму, в которой находятся некоторые отношения 3NF. Наконец, была определена еще одна форма, пятая. Изучению этих нормальных форм посвящаются следующие разделы.