Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пятая нормальная форма

 

Отношение R находится в пятой нормальной форме (5НФ), которую иногда иначе называют проекционно-соединительной нормальной формой, тогда и только тогда, когда каждая нетривиальная зависимость соединения в отношении R определяется потенциальным ключом (или ключами) R.

 

Отношение { Teacher, Course, Group } не находится в 5НФ, т.к. в отношении существует только один потенциальный ключ (первичный), то можно составить только одну зависимость соединения:

 

*{ { Teacher, Course }, { Course, Group }, { Teacher, Group } }

 

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

 

Рассмотрим отношение Groups: { GroupID, GroupName, Faculty, Supervisor }. Здесь два потенциальных ключа: GroupID и GroupName. Можно составить следующие зависимости соединения:

 

· *{ { GroupID, Supervisor }, { GroupID, GroupName, Faculty } }

· *{ { GroupID, GroupName }, { GroupID, Faculty }, { GroupName, Supervisor } }

· и т.д.

 

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

 

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

 

Фактически 5НФ является окончательной нормальной формой по отношению к операциям проекции и соединения (что отражено в ее альтернативном названии – проекционно-соединительная нормальная форма).

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

 

Итоговая схема нормализации

 

До сих пор весь процесс нормализации основывался на декомпозиции без потерь. Основная идея состояла в следующем: пусть дано некоторое отношение R в 1НФ и для него определены функциональные зависимости, многозначные зависимости и зависимости соединения. Задача заключается в систематическом разбиении исходного отношения R на такой набор меньших (т.е. имеющих меньшую степень) отношений, который в некотором смысле будет эквивалентен отношению R, но с другой стороны будет более предпочтительным. Каждый этап процесса такого преобразования заключается в разбиении на проекции отношений, полученных на предыдущем этапе. При этом на каждом этапе преобразования существующие ограничения используются для выбора тех проекций, которые будут получены в этот раз.

 

Весь процесс нормализации можно неформально определить с помощью следующих правил:

 

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

 

2. Полученные отношения во 2НФ следует разбить на такие проекции, которые позволят исключить все существующие транзитивные функциональные зависимости. В результате будет получен набор отношений в ЗНФ.

 

3. Отношения в ЗНФ следует разбить на проекции, позволяющие исключить все оставшиеся функциональные зависимости, в которых детерминанты не являются потенциальными ключами. В результате будет получен набор отношений в НФБК.

 

Заметим, что эти три правила можно объединить в одно: «Исходное отношение следует разбить на проекции, позволяющие исключить все функциональные зависимости, в которых детерминанты не являются потенциальными ключами».

 

4. Отношения в НФБК следует разбить на проекции, позволяющие исключить все многозначные зависимости, которые не являются также функциональными. В результате будет получен набор отношений в 4НФ. На практике такие многозначные зависимости обычно исключаются перед выполнением этапов 1–3.

 

5. Отношения в 4НФ следует разбить на проекции, позволяющие исключить все зависимости соединения, которые не определяются потенциальными ключами. В результате будет получен набор отношений в 5НФ.

 

По поводу приведенных выше правил можно сделать несколько дополнительных замечаний:

 

1) Процесс разбиения на проекции на каждом этапе должен быть выполнен без потерь и с сохранением зависимостей (там, где это возможно).

 

2) Иногда удобно пользоваться альтернативными определениями нормальных форм:

· отношение R находится в НФБК тогда и только тогда, когда каждая функциональная зависимость определяется его потенциальными ключами;

· отношение R находится в 4НФ тогда и только тогда, когда каждая многозначная зависимость определяется его потенциальными ключами;

· отношение R находится в 5НФ тогда и только тогда, когда каждая зависимость соединения определяется его потенциальными ключами.

 

3) Общее назначение процесса нормализации заключается в следующем:

· исключение избыточности;

· устранение аномалий обновления;

· разработка проекта базы данных, который является достаточно «качественным» представлением реального мира, интуитивно понятен и может служить хорошей основой для последующего расширения;

· упрощение процедуры наложения ограничений целостности (эта цель обеспечивается созданием связи «один ко многим», от ключевого к неключевому).

 

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

 

5) Идеи нормализации чрезвычайно полезны для проектирования баз данных, но они отнюдь не являются универсальным средством по следующим причинам:

· нормализация позволяет реализовать определенные ограничения целостности, но на практике, помимо зависимостей соединения, функциональных и многозначных зависимостей, существуют и другие типы ограничений;

· декомпозиция может быть неуникальной (как правило, имеется несколько способов приведения заданного отношения к 5НФ), но существует очень мало объективных критериев, позволяющих выбрать один из альтернативных вариантов декомпозиции;

· преследование одновременно двух целей (т.е. приведение к НФБК и сохранение зависимостей) в некоторых случаях приводит к конфликтной ситуации;

· не всякую избыточность данных можно устранить разбиением на проекции.

 

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

<== предыдущая лекция | следующая лекция ==>
Зависимость соединения | Вооруженное вмешательство
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 830; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.