Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование реляционных баз данных.docx
Скачиваний:
55
Добавлен:
16.03.2016
Размер:
189.97 Кб
Скачать

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

Третья нормальная форма связана с так называемыми транзитивными зависимостями. Пусть отношение имеет вид:

Преподаватель

Организация

Тип организации

Иванов И.И.

Полимер

НИИ

Петров П.П.

ЮУрГУ

ВУЗ

Сидоров С.С.

ЮУрГУ

ВУЗ

Рязанцев Р.Р.

Полимер

НИИ

Яковлев Я.Я.

Полимер

НИИ

Здесь атрибут “Тип организации” зависит от ключа “Преподаватель” не напрямую, а опосредованно через атрибут “Организация”. Налицо транзитивная зависимость.

Это приводит к избыточности, аномалиям удаления и включения. Факт, что Полимер – НИИ, а ЮУрГу – ВУЗ отображается в таблице столько раз, сколько имеется преподавателей из данной организации. Если преподаватели из какой-то организации в некоторый-то момент в таблице не фигурируют, хранить сведения о типе этой организации нельзя (аномалия удаления). Нельзя также включить в таблицу сведения о типе организации до тех пор, пока не будут определены преподаватели из данной организации (аномалии включения.)

Определение. Пусть – множество различных атрибутов R, . Функциональная зависимость набора атрибутовС от набора атрибутов А

( R.A R.С ) называется транзитивной, если существует такое, что:

  1. С не содержится в В (

  2. Существует функциональная зависимость набора атрибутов B от A ( R.A R.B )

  3. Не существует функциональной зависимости набора атрибутов А от В ( R.A R.B )

  4. Существует функциональная зависимость набора атрибутов С от B ( R.B R.C )

Схема транзитивной зависимости:

Знак ? обозначает, что зависимость С от В может иметься (стрелка не перечеркнута) или отсутствовать (стрелка перечеркнута). При отсутствии такой зависимости транзитивная зависимость называется строгой.

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

Преподаватель

Организация

Иванов И.И.

Полимер

Петров П.П.

ЮУрГУ

Сидоров С.С.

ЮУрГУ

Рязанцев Р.Р.

Полимер

Яковлев Я.Я.

Полимер

Организация

Тип организации

Полимер

НИИ

ЮУрГУ

ВУЗ

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

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

Транзитивная зависимость является одним из видов функциональной зависимости. Этот факт отражает определение Бойса-Кодда.

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

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

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

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