ВУЗ:
Составители:
Рубрика:
Вывод. Увеличивается сложность разработки базы данных. База данных, основанная на такой мо-
дели, будет работать правильно только при наличии дополнительного программного кода в виде триг-
геров.
Оставшиеся аномалии удаления (DELETE). При удалении некоторых данных по-прежнему мо-
жет произойти потеря другой информации. Например, если удалить сотрудника Сидорова, то будет по-
теряна информация о том, что в отделе номер 2 находится телефон 33-22-11.
Причина аномалии – хранение в одном отношении разнородной информации (и о сотрудниках, и
об отделах).
Вывод. Логическая модель данных неадекватна модели предметной области. База данных, осно-
ванная на такой модели, будет работать неправильно.
Заметим, что при переходе ко второй нормальной форме отношения стали почти адекватными
предметной области. Остались также трудности в разработке базы данных, связанные с необходимо-
стью написания триггеров, поддерживающих целостность базы данных. Эти трудности теперь связаны
только с одним отношением
СОТРУДНИКИ_ОТДЕЛЫ
.
3.5. 3НФ (ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА)
Определение 4. Атрибуты называются
взаимно независимыми
, если ни один из них не является
функционально зависимым от другого.
Определение 5. Отношение
R
находится в
третьей нормальной форме
(
3НФ
) тогда и только тогда,
когда отношение находится в 2НФ и
все неключевые атрибуты взаимно независимы
.
Отношение
СОТРУДНИКИ_ОТДЕЛЫ
не находится в 3НФ, так как имеется функциональная зави-
симость неключевых атрибутов (зависимость номера телефона от номера отдела):
Н_ОТД
→
ТЕЛ
Для того чтобы устранить зависимость неключевых атрибутов, нужно произвести декомпозицию
отношения на несколько отношений. При этом те неключевые атрибуты, которые являются зависимы-
ми, выносятся в отдельное отношение.
Отношение
СОТРУДНИКИ_ОТДЕЛЫ
декомпозируем на два отношения –
СОТРУДНИКИ
,
ОТДЕ-
ЛЫ
.
Отношение
СОТРУДНИКИ
(
Н_СОТР
,
ФАМ
,
Н_ОТД
).
Функциональные зависимости:
Зависимость атрибутов, характеризующих сотрудника, от табельного номера сотрудника:
Н_СОТР
→
ФАМ
Н_СОТР
→
Н_ОТД
Н_СОТР
→
ТЕЛ
Н_СОТР
ФАМ
Н_ОТД
1
Иванов 1
2
Петров 1
3
Сидоров
2
Отношение
ОТДЕЛЫ
(
Н_ОТД
,
ТЕЛ
):
Функциональные зависимости:
Зависимость номера телефона от номера отдела:
Н_ОТД
→
ТЕЛ
Н_ОТД
ТЕЛ
1
11-22-33
2
33-22-11
Обратим внимание на то, что атрибут
Н_ОТД
,
не являвшийся ключевым
в отношении
СОТРУД-
НИКИ_ОТДЕЛЫ
,
становится потенциальным ключом
в отношении
ОТДЕЛЫ
. Именно за счёт этого
устраняется избыточность, связанная с многократным хранением одних и тех же номеров телефонов.
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »