Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Рассмотрим таблицу СОТРУДНИКИ, полученную после приведения исходной таблицы ко второй нормальной форме. Для этой таблицы существует функцио­нальная связь между полями «Код сотрудника» и «Зарплата». Однако эта функ­циональная связь является транзитивной.

Функциональная зависимость атрибутов X и отношения Я называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости X ®Z и Z ® Y, но отсутствует функциональная зависимость Z ® X.

Транзитивность зависимости полей «Код сотрудника» и «Зарплата» означает, что заработная плата на самом деле является характеристикой не сотрудника, а долж­ности, которую он занимает. В результате мы не сможем занести в базу данных информацию, характеризующую заработную плату должности, до тех пор, пока не появится хотя бы один сотрудник, эту должность занимающий (так как первич­ный ключ не может содержать неопределенное значение). При удалении кортежа, описывающего последнего сотрудника, занимающего данную должность, мы ли­шимся информации о заработной плате, соответствующей этой должности. Кроме того, чтобы согласованным образом изменить заработную плату, соответствующую должности, будет необходимо предварительно найти все записи, описывающие сотрудников, занимающих данную должность. Таким образом, в таблице СОТРУД­НИКИ по-прежнему существуют аномалии. Их можно устранить путем дальней­шей нормализации – приведения базы данных к третьей нормальной форме.

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

Чтобы перейти от второй нормальной формы к третьей, нужно выполнить следу­ющие таги:

1. Определить все поля (или группы полей), от которых зависят другие поля.

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

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

Обратите внимание, что мы опять добавили новый атрибут – «Код должности», который является первичным ключом для отношения ДОЛЖНОСТИ и внешним ключом для отно­шения СОТРУДНИКИ. Добавление новых атрибутов при нормализации позволяет полу­чить таблицы с простыми первичными ключами, что облегчает выполнение операции свя­зывания таблиц. Такие первичные ключи, как правило, являются искусственными. Приведем рассматриваемую в качестве примера базу данных к третьей нормаль­ной форме. Для этого разделим таблицу СОТРУДНИКИ на две – СОТРУДНИ­КИ и ДОЛЖНОСТИ (рис. 4.4).

Рисунок 4.4 –Приведение базы данных к третьей нормальной форме

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

 

Рисунок 4.5 –Структура базы данных, приведенной

к третьей нормальной форме

 

На рис. 4.5 приведена схема базы данных, рассматриваемой в качестве примера и приведенной к третьей нормальной форме.

 

 







Date: 2016-05-25; view: 740; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию