Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




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

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

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

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

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

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

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

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

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

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

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

 

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

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

 

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

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных