Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_kit.docx
Скачиваний:
68
Добавлен:
29.02.2016
Размер:
304 Кб
Скачать
☆

22. Нормализация таблиц. Функциональная зависимость. Полная и частичная функциональная зависимость. Вторая нормальная форма (2нф).

Функциональная зависимость — это семантическое понятие, отображающее определенную семантическую связь между атрибутами сущности. Пусть сущность характеризуется множеством атрибутов X. Некий атрибут или подмножество атрибутов данного множества — А является функционально зависимым от Xтогда и только тогда, когда каждой комбинации значений Xсоответствует одно и только одно значение А. Это обозначается как ХА.

Определение 2НФ

Таблица находится в 2НФ, если она удовлетворяет требованиям 1НФ и неключевые поля функционально полно зависят от первичного ключа.

Пусть {X1, X2, ..., Xk} — множество полей, образующих первичный ключ. Неключевое поле Афункционально полно зависит от первичного ключа, если:

• оно функционально зависит от первичного ключа, т.е. {X1, X2, ..., Xk} А;

• не существует функциональной зависимостиА ни от какого подмножества полей первичного ключа (в противном случае А находится в частичной функциональной зависимости от первичного ключа).

В таблице КЛИЕНТ неключевые поля ФИО_К, СОЦ_П, АДР_К функционально зависят от ключа (НК, НС), это запишем как

НК, НС  ФИО_К, СОЦ_П, АДР_К.

Кроме того, они функционально зависят от подмножества ключа — НК, что запишем

НК  ФИО_К, АДР_К, СОЦ_П.

Следовательно, неключевые поля ФИО_К, СОЦ_П, АДР_К находятся в частичной функциональной зависимости от первичного ключа (НК, НС) и нарушаются требования 2НФ. Эти поля надо удалить из таблицы КЛИЕНТ. Полученную в результате таблицу назовем КЛИЕНТ — СЧЕТ (таблица 1), которая имеет вид

Эта таблица удовлетворяет требованиям 2НФ.

Удаленные неключевые поля помещаются в новую таблицу совместно с подмножеством НК, от которого они зависят. И это подмножество будет первичным ключом новой таблицы КЛИЕНТ (таблицы 2) вида

Новая таблица КЛИЕНТ также удовлетворяет требованиям 2НФ. Ее неключевые поля функционально полно зависят от первичного ключа.

Полученные таблицы 1, 2 не содержат избыточной информации, и нет основания приводить их к 3НФ.

Таблица ФИЛИАЛ удовлетворяет требованиям 2НФ, так как ее неключевые поля НФ, АДР_Ф, НМ, ОСТ, ТИП функционально полно зависят от первичного ключа

НС  НФ, АДР_Ф, НМ, ОСТ, ТИП

Но в таблице ФИЛИАЛ повторяется информация о филиале для всех счетов, обрабатываемых им. Поэтому ее надо привести к 3НФ.

23. Нормализация таблиц. Транзитивная зависимость. Третья нормальная форма (3нф).

Определение 3НФ

Таблица находится в 3НФ, если она удовлетворяет требованиям 2НФ и не содержит транзитивных зависимостей.

Транзитивной зависимостью называется функциональная зависимость между неключевыми полями. В таблице ФИЛИАЛ она наблюдается

НФ  АДР_Ф, НМ

Следовательно, нарушаются требования 3НФ. Из таблицы ФИЛИАЛ надо удалить поля, участвующие в этой транзитивной зависимости, — АДР_Ф, НМ. Получится таблица, характеризующая счет (таблица 3), вида

Затем создается новая таблица, в которую помещаются удаленные поля и поле, от которого они зависят (таблица 4). Она имеет вид

Полученные таблицы 3, 4 приведены к 3НФ. В них каждая запись есть отдельное независимое утверждение. Повторяются только значения внешнего ключа НФ в таблице СЧЕТ, что неизбежно, так как одним филиалом могут обрабатываться несколько счетов.

Как видим, нормализация приводит к фрагментации исходных таблиц. В нашем примере таблица КЛИЕНТ разбивается на таблицы 1, 2, а таблица ФИЛИАЛ — на таблицы 3, 4. Осуществив связь этих таблиц посредством связи первичных и внешних ключей, получим реляционную модель данных предметной области БАНК, в которой минимизирована избыточность данных. Эта модель представлена на рисунке 4.3.

Рисунок 4.3– Реляционная модель предметной области БАНК после нормализации

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]