Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
112
Добавлен:
15.06.2014
Размер:
1.99 Mб
Скачать

4.4.4 Третья нормальная форма

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

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

Примечание – Если таблица содержит только один неключевой атрибут или вообще не содержит неключевых атрибутов, то она всегда находится в 3НФ, так как в ней не может быть транзитивных зависимостей.

Чтобы привести к 3НФ таблицу, содержащую транзитивную зависимость A→B→C, требуется выделить атрибутыBиCв отдельную таблицу, гдеBстановится ключевым атрибутом. Другими словами, для приведения к 3НФ таблица разбивается на две: в одну из них помещаютсявсеатрибуты,кромеатрибутаC, в другую - атрибутыBиC.

Примечание – Если таблица содержит “длинную” транзитивную зависимость, например, A → B → C → D → E (где A – ключ, B, C, D, E – неключевые атрибуты), то сначала в отдельную таблицу выделяются атрибуты D и E, затем в другую отдельную таблицу – атрибуты C и D, затем – B и C.

Альтернативные определения ЗНФ отношений.

Определение 1. Отношение находится в ЗНФ, если оно находится в 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

Определение 2. Отношение находится в ЗНФ в том и только в том случае, если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.

Доказать справедливость этого утверждения несложно. Действительно, то, что неключевые атрибуты полностью зависят от первичного ключа, означает, что данное отношение находится в форме 2НФ. Взаимная независимость атрибутов (определение приведено выше в п. 4.3.2) означает отсутствие всякой зависимости между атрибутами отношения, в том числе и транзитивной зависимости между ними. Таким образом, второе определение ЗНФ сводится к первомуопределению.

Рассмотрим наш пример. Если в отношении R1 транзитивные зависимости отсутствуют, то в отношении R2 они есть:

ФИО—>Должн—>Оклад,

ФИО—>Оклад—>Должн,

ФИО—>Стаж—>Д_Стаж

Устраним их. Для этого используя операцию проекции на атрибуты, являющиеся причиной транзитивных зависимостей,преобразуем отношение R2, получив при этом отношения R3, R4 и R5, каждое из которых находится в ЗНФ (рис. 4.7а). Графически эти отношения представлены на рис. 4.7б. Заметим, что отношение R2 можно преобразовать по-другому, а именно: в отношении R3 вместо атрибута Должн взять атрибут Оклад.

На практике построение ЗНФ схем отношений в большинстве случаев яв­ляется достаточным и приведением к ним процесс проектирования реляци­онной БД заканчивается.

В нашем примере вся БД деканата приведена к 3НФ. Эта БД состоит из четырех таблиц:R1,R3,R4 иR5. Сопоставив эти таблицы с исходными данными, приведенными в подразделе 4.2.4 на рис. 4.4, легко убедиться, что в процессе нормализации никакие данные не потеряны.Построенные таблицы не имеют недостатков, указанных в подразделах 4.4.2 и 4.4.3.В полученной БД имеет место необходимое дублирование данных, но отсутствует избыточное.

а) б)

Рис. 4.7. Отношения БД в ЗНФ

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

Таким образом, проектирование БД деканата завершено.