
- •Методическая разработка для проведения лекционного занятия по военно-технической подготовке (курс 220)
- •Основные определения
- •Тривиальные и нетривиальные зависимости
- •Замыкание множества зависимостей
- •Замыкание множества атрибутов
- •Неприводимые множества зависимостей
- •Нормализация: формы 1нф, 2нф, 3нф и нфбк
- •Введение
- •Декомпозиция без потерь и функциональные зависимости
- •Первая, вторая и третья нормальные формы
- •Нормальная форма Бойса-Кодда
- •Нормализация: более высокие нормальные формы
- •Многозначные зависимости и четвертая нормальная форма
- •Зависимости соединения и пятая нормальная форма
- •Общая схема процедуры нормализации
- •Заключительная часть
Декомпозиция без потерь и функциональные зависимости
Прежде чем приступить к изложению подробностей процедуры нормализации, следует обсудить один существенный аспект этой процедуры, а именно – концепцию декомпозиции без потерь. Как отмечалось, процедура нормализации включает разбиение, или декомпозицию, данной переменной-отношения на другие переменные-отношения, причем она должна быть обратимой. Иначе говоря, интерес представляют лишь те операции, которые выполняются без потерь информации. Вопрос происходит ли утрата информации при декомпозиции, тесно связан с концепцией функциональной зависимости.
В качестве примера рассмотрим знакомую переменную-отношение поставщиков без атрибута SNAME. Два возможных варианта проведения ее декомпозиции приведены на рис. 4.4: а и б.
S |
|
||||||||||||||
а) SST |
|
SC |
|
||||||||||||
б) SST |
|
STC |
|
Рис. 4.4. Переменная-отношение S и два возможных варианта ее декомпозиции
Можно отметить, что первый вариант является декомпозицией без потерь, поскольку информация, содержащаяся в двух новых переменных-отношениях, соответствует информации в исходной переменной-отношении, т.е. при обратном соединении переменных-отношений SST и SC будет получена исходная переменная-отношение S. Однако второй вариант не является декомпозицией без потерь, так как здесь информация утрачивается, поскольку оба поставщика имеют статус 30, но при этом нельзя сказать, кто и где находится.
Возникает вопрос, почему в одном случае идет потеря информации, а в другом – нет. Прежде всего, следует отметить, что процесс, который до сих пор назывался декомпозицией, на самом деле является операцией проекции, т.е. фактически в процессе нормализации оператор декомпозиции есть оператор проекции.
«Обратимость» означает, что исходная переменная-отношение равна соединению ее проекций. Если оператором декомпозиции в процедуре нормализации является операция проекции, то обратной операцией должна быть операция соединения.
Формально: Пусть R1 и R2 являются проекциями некоторой переменной-отношения R, содержащими все атрибуты переменной-отношения R. Какие условия должны быть соблюдены для того, чтобы при обратном соединении проекций R1 и R2 гарантировать получение исходной переменной-отношения R?
Для ответа на этот вопрос необходимо рассмотреть ФЗ. В нашем примере для переменной-отношения S имелось следующее неприводимое множество ФЗ:
S# STATUS
S# CITY
Можно предположить, что переменная-отношение S равна соединению проекций {S#, STATUS} и {S#, CITY}. И это подтверждается теоремой Хита (Heath).
Теорема Хита. Пусть R{A,B,C} является переменной-отношением, где A, B и C – множества атрибутов этой переменной-отношения. Если R удовлетворяет ФЗ A B, то R равна соединению проекций {A, B} и {A, C}.
Диаграммы ФЗ
Пусть дана переменная-отношение R и пусть к ней применимо некоторое неприводимое множество функциональных зависимостей I. Удобнее всего представить это множество ФЗ в виде диаграммы функциональных зависимостей (диаграммы ФЗ). На рис. 4.5 представлены диаграммы ФЗ для переменных-отношений S, SP и P соответственно.
Рис. 4.5. Диаграмма ФЗ для переменных-отношений S, SP, P
Как видно, стрелки начинаются с потенциального ключа. Однако, может быть и так, что стрелки начинаются и не с потенциального ключа. Процедура нормализации может быть неформально охарактеризована как процедура исключения стрелок, которые не начинаются с потенциальных ключей.
ФЗ – это особый вид ограничений целостности, а потому они, несомненно, являются понятием семантическим. Распознавание ФЗ представляет собой часть процесса выяснения смысла тех или иных данных.