Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Четвертая нормальная форма.

Сетевая модель данных. | Лекция 2. | Реляционные операции над отношениями. | Аномалии хранения данных. | Теорема Хита. | Функциональная зависимость. | Теорема Хита. | Первая нормальная форма. | Вторая нормальная форма. | Третья нормальная форма. Транзитивные зависимости. |


Читайте также:
  1. Вопрос как логическая форма. Виды вопросов.
  2. Встреча четвертая. Касание Бога.
  3. Вторая нормальная форма.
  4. Глава двадцать четвертая
  5. Глава двадцать четвертая
  6. Глава двадцать четвертая
  7. Глава двадцать четвертая

 

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

В качестве примера рассмотрим отношение «Курсы – Преподаватели – Учебники», каждый кортеж abc которого означает, что курс a читает преподаватель b с использованием учебника с (для упрощения опустим второстепенные атрибуты, а приведенные будем считать ключевыми). В примере рассмотрим только один курс (Физика), который может преподавать либо профессор Александров либо профессор Борисов, а в качестве учебников по этому курсу используются книги «Общая физика» и «Геометрическая оптика».

 

Отношение «Курсы – Преподаватели - Учебники»

 

Курс Преподаватель Учебник
Физика Александров Общая физика
Физика Александров Геометрическая оптика
Физика Борисов Общая физика
Физика Борисов Геометрическая оптика

 

Рис.14. Пример отношения, находящегося в НФБК, но не в VНФ.

 

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

Атрибут «Курс» не связан с единственным значением поля «Преподаватель», т.е. зависимость Курс -> Преподаватель не является функциональной. Однако, каждое значение атрибута «Курс» имеет хорошо определенное множество соответствующих преподавателей. Более того, можно утверждать, что множество значений поля «Преподаватель» для каждой пары значений «Курс» и «Учебник» зависит только от конкретного значения «Курс», значение же атрибута «Учебник» несущественно.

 

Если атрибут А определяет множество значений атрибута В, то говорят, что эти атрибуты связаны многозначной зависимостью.

Стоит заметить, что в приведенном примере атрибуты «Курс» и «Учебник» также связаны многозначной функциональной зависимостью.

Ранее определенная функциональная зависимость является частным случаем многозначной зависимости. Проблемы, возникающие при обработке отношений в НФБК, описанные в начале этого раздела вызываются существованием многозначных зависимостей, которые не являются функциональными зависимостями. В этом случае неприменима теорема Хита, вернее, требуется расширение условий этой теоремы (здесь расширенная теорема Хита не приводится, поскольку для доказательства требует привлечения достаточно объемного материала). Примем без доказательства, что если H,J и K являются атрибутами отношения Y, и K многозначно зависит от J, то

Y = proj H,J (Y) join proj J,K (Y)

Теперь можно ввести определение четвертой нормальной формы.

 

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

Таким образом, алгоритм приведения данных к пятой нормальной форме можно представить следующим образом: на основании технического задания на разработку составляется универсальное отношение, находящееся в первой нормальной форме. Затем, после анализа предметной области, выделяются атрибуты, входящие в первичный ключ, и функциональные зависимости атрибутов от компонент первичного ключа на предмет полноты зависимости. Затем проводится декомпозиция универсального отношения, в результате которой информационная модель предметной области представляется в виде набора отношений во II НФ. После этого проводится анализ транзитивных зависимостей и их устранение при помощи все того же приема – декомпозиции. Каждое из полученных отношений, находящихся уже в третьей нормальной форме, проверяется на соответствие нормальной форме Бойса – Кодда, и, при необходимости, декомпозиция повторяется. После поиска и устранения многозначных зависимостей, можно говорить, что модель данных представлена отношениями в IV НФ. Остается провести анализ на предмет удовлетворения полученных отношений пятой нормальной форме. После приведения информационной модели к набору отношений в V НФ можно говорить, что этап концептуального проектирования данных завершен. К сожалению, не для всех стадий этого процесса сейчас предложены четкие алгоритмы (и критерии) декомпозиции. Если еще вспомнить, что само понятие функциональной зависимости опирается на специфику предметной области, а точнее – на понимание программистом этой специфики, то утверждение, что «проектирование – больше искусство, чем наука» представляется вполне обоснованным.

 


Дата добавления: 2015-07-19; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Перенормализованные» модели данных.| Перенормализованные» модели данных.

mybiblioteka.su - 2015-2024 год. (0.013 сек.)