Определение. Отношение находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа..
Замечание. Если потенциальный ключ отношения является простым, то отношение автоматически находится в 2НФ.
Отношение СОТРУДНИКИ_ОТДЕЛЫ_ПРОЕКТЫ не находится в 2НФ, т.к. есть атрибуты, зависящие от части сложного ключа:
Зависимость атрибутов, характеризующих сотрудника от табельного номера сотрудника является зависимостью от части сложного ключа:
Н_СОТР → ФАМ
Н_СОТР → Н_ОТД
Н_СОТР → ТЕЛ
Зависимость наименования проекта от номера проекта является зависимостью от части сложного ключа:
Н_ПРО → ПРОЕКТ
Для того чтобы устранить зависимость атрибутов от части сложного ключа, нужно произвести декомпозицию отношения на несколько отношений. При этом те атрибуты, которые зависят от части сложного ключа, выносятся в отдельное отношение.
Отношение СОТРУДНИКИ_ОТДЕЛЫ_ПРОЕКТЫ декомпозируем на три отношения – СОТРУДНИКИ_ОТДЕЛЫ, ПРОЕКТЫ, ЗАДАНИЯ.
Таблица 2 – Отношение СОТРУДНИКИ_ОТДЕЛЫ
Н_СОТР
| ФАМ
| Н_ОТД
| ТЕЛ
|
1
| Иванов
|
|
|
2
| Петров
|
|
|
3
| Сидоров
|
|
|
Выпишем существующие функциональные зависимости.
Зависимость атрибутов, характеризующих сотрудника от табельного номера сотрудника:
Н_СОТР → ФАМ
Н_СОТР → Н_ОТД
Н_СОТР → ТЕЛ
Зависимость номера телефона от номера отдела:
Н_ОТД →ТЕЛ
Отношение ПРОЕКТЫ (Н_ПРО, ПРОЕКТ):
Таблица 3 – Отношение ПРОЕКТЫ
Н_ПРО
| ПРОЕКТ
|
1
| Космос
|
2
| Климат
|
Функциональные зависимости:
Н_ПРО → ПРОЕКТ
Отношение ЗАДАНИЯ (Н_СОТР, Н_ПРО, Н_ЗАДАН):
Таблица 4 Отношения ЗАДАНИЯ
Н_СОТР
| Н_ПРО
| Н_ЗАДАН
|
1
| 1
|
|
1
| 2
|
|
2
| 1
|
|
3
| 1
|
|
3
| 2
|
|
Функциональные зависимости:
{Н_СОТР, Н_ПРО} → Н_ЗАДАН