Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
280
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

113

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

Дадим еще несколько полезных определений.

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

покрытием (cover) для S1.

Если S2 является покрытием для S1, а S1 является покрытием для S2, т.е.

если S1+ = S2+, то S1 и S2 эквивалентны.

Функциональная зависимость называется неприводимой слева (или функционально полной), если ни один атрибут не может быть опущен из ее детерминанта без изменения замыкания S+ (без преобразования множества S в некоторое множество, не являющееся ему эквивалентным).

Или, менее строго, но более просто:

функциональная зависимость называется неприводимой слева (или функционально полной), если ни один атрибут не может быть опущен из ее детерминанта без нарушения этой зависимости.

10.2. Нормализация отношений базы данных

Нормальные формы

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

114

обладать целым рядом нежелательных свойств. Рассмотрим в качестве примера отношение УСПЕВАЕМОСТЬ, представленное на рис.10.2.

УСПЕВАЕМОСТЬ

КОД_СТУД

ИМЯ_СТУД

ДИСЦИПЛИНА

ОЦЕНКА

С2

Иванов

Физика

5

С2

Иванов

Математика

4

С2

Иванов

История

4

С2

Иванов

Информатика

5

С6

Смирнов

Физика

3

С6

Смирнов

Математика

4

С6

Смирнов

Информатика

3

С1

Попова

Математика

5

С1

Попова

Информатика

5

С1

Попова

Химия

4

С9

Иванов

Физика

5

С9

Иванов

Информатика

4

Рис. 10.2. Пример отношения в первой нормальной форме

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

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

Теория нормализации позволяет, например, ответить на вопрос – какая из двух логическая структура отношений является предпочтительней: отношение

R1{КОД_СТУД, ИМЯ_СТУД, ФАКУЛЬТЕТ, ДИСЦИПЛИНА, ОЦЕНКА}

или структура из двух отношений

R2{КОД_СТУД, ИМЯ_СТУД, ФАКУЛЬТЕТ} и

115

R3{КОД_СТУД, ДИСЦИПЛИНА, ОЦЕНКА}.

Нормальными формами более высокого порядка являются определенные Коддом (Codd) первая, вторая и третья нормальные формы (1НФ, 2НФ и 3НФ), введенная Бойсом (Boyce) и Коддом так называемая нормальная форма БойсаКодда (НФБК) и определенные Фейгиным (Fagin) четвертая и пятая нормальные формы (4НФ и 5НФ).

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

Пространство всех отношений (нормализованных и ненормализованных)

Множество отношений в 1НФ (нормализованные отношения) Множество отношений во 2НФ

Множество отношений в 3НФ Множество отношений в НФ БК

Множество отношений в 4НФ Отношения в 5НФ

Рис. 10.3. Вложенность нормальных форм отношений

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