русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 2013; Нарушение авторских прав


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

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

Существует и альтернативное определение.

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

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

ФИО ® Долж ® Оклад,

ФИО ® Оклад ®Должность,

ФИО ® Стаж ® Надб

Устраним транзитивные зависимости, преобразуя отношение R2 в три отношения R3, R4 и R5, каждое из которых находится в 3НФ.

А) Б)

R3

ФИО Долж Стаж Каф
Иванов И.М. Преп
Петров М.И. Ст.преп
Сидоров Н.Г. Преп
Егоров В.В. Преп

 

R4

Долж Оклад
Преп
Ст.преп

 

R5

Стаж Надб

Рис. 6.7. Отношения базы данных в 3НФ

Как правило, построение 3НФ для отношений базы данных является достаточным и процесс проектирования реляционной БД заканчивается. В примере таблицы R1, R2, R3, R4 и R5 окончательный результат проектирования базы данных. В таблицах присутствует дублирование данных, но оно не является избыточным.

Если в отношении имеется зависимость атрибутов составного ключа от неключевых атрибутов, то необходимо перейти к усиленной 3НФ (нормальной форме Бойса – Кодда (БКНФ)).

Отношение находится в БКНФ, если оно назодится в 3НФ и в нем отсутствуют зависимости ключей (атрибутов составного ключа) от неключевых атрибутов.

Рассмотрим отношение ПРОЕКТЫ:

Номер_проекта Код_сотрудника Задание_сотрудника

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



Недостаток отношения ПРОЕКТЫ состоит в том, что при подключении/отстранении от проекта некоторого сотрудника приходится добавлять/исключать из отношения столько кортежей, сколько заданий имеется в проекте.

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

Номер_проекта Þ Код_сотрудника

Номер проекта ÞЗадание_сотрудника.

В произвольном отношении R(A,B,C) могут одновременно существовать многозначные зависимости А ÞВ и А Þ С. Это обозначается как А ÞВ|С.

Дальнейшая нормализация отношений, типа ПРОЕКТЫ, лсновывается на следующей теореме.

Теорема Фейджина (Fagin R.). Отношение R(A,B,C) можно спроецировать без потерь в отношения R1(A,B) и R2(A,C) в том и только в том случае, когда существует зависимость А ÞВ|С.

Под проецированием без потерь здесь понимается такой способ декомпозиции отношения, при котором оно полностью и без избыточности восстанавливается путем естественного соединения полученных отношений. Пример.Пусть имеется простейшее отношение R(A,B,C) вида:

R R1 R2

А В С   А В   А С
К   К   К
К   Л   К
Л   М   Л
М         М
М         М
М         М

Отношения R1 и R2 – проекции на атрибуты А, В и А, С.

Результатом операции соединения бинарных отношений R1(A,B) и R2(A,C) по атрибуту А является тернарное отношение с атрибутами A, B иC, кортежи которого получаются путем связывания отношений R1 и R2 по типу 1:М на основе совпадения значений атрибута А. Порожденное таким образом отношение будет в точности совпадать с исходным.

Определение четвертой нормальной формы. Отношение R находится в четвертой нормальной форме (4НФ) в том и только в том случае, когда существует многозначная зависимость А Þ В, а все остальные атрибуты R функционально зависят от А.

Отношение ПРЕКТЫ можно представить в виде двух отношений: ПРОЕКТЫ-СОТРУДНИКИ и ПРОЕКТЫ-ЗАДАНИЯ:

ПРОЕКТЫ-СОТРУДНИКИ (первичный ключ – оба атрибута)

Номер_проекта Код_сотрудника

 

ПРОЕКТЫ- ЗАДАНИЯ (первичный ключ – оба атрибута)

Номер_проекта Задание_сотрудника

Оба полученных отношения находятся в 4НФ, нет дублирования значений кодов сотрудников. Соединение этих проектов приведет к получению исходного отношения ПРОЕКТЫ.

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



<== предыдущая лекция | следующая лекция ==>
Зависимости между атрибутами. Основные виды: функциональные, транзитивные и многозначные. | Пятая нормальная форма.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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