Базы данных

Нормализация баз данных

Таблица 15

Код сотрудника

ФИО

Должность

Номер

отдела

Наименование

отдела

7513

Иванов И.И.

Программист

128

Отдел проектирования

9842

 Сергеева С.С.

Администратор БД

42

Финансовый отдел

6651

Петров П.П.

Программист

128

Отдел проектирования

9006

 Николаев Н.Н.

Системный администратор

128

Отдел проектирования

Таблица 16

Код сотрудника

Квалификация

7513

C

7513

Java

9842

DB2

6651

VB

6651

Java

9006

Windows

9006

Linux

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

Формально, для приведения схемы в 3НФ необходимо исключить все транзитивные зависимости. Схема отношения сотрудники (табл. 15) содержит следующие функциональные зависимости: Код сотрудникаФИО, Должность, Номер отдела, Наименование отдела и Номер отдела ’ Наименование отдела.

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

Функциональная зависимость Код сотрудникаНаименование отдела является транзитивной, поскольку содержит промежуточный шаг (зависимость Номер отдела ’ Наименование отдела). Для приведения в 3НФ необходимо исключить эту транзитивную зависимость, декомпозируя отношение на два: сотрудники (Код сотрудника, ФИО, Должность, Номер отдела) и отделы (Номер отдела, Наименование отдела) (табл. 17–18).

предыдущаяследующая