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

Нормализация таблиц

Минимизировать избыточность данных позволяет процесс, называемый нормализацией таблиц. Нормализацию можно было использовать для получения эффективных структур данных, созданных в результате преобразования ER-диаграмм. Но чтобы пояснить этот процесс, будем исходить из описания предметной области ТОРГОВЛЯ.

Реляционная база данных считается эффективной, если все ее таблицы находятся как минимум в 3НФ. Приведение к 3НФ осуществляется, если есть основание для этого.

Определение 1нф

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

В Таблице ОТДЕЛ все атрибуты имеют неделимые значения. Таким образом, таблица ОТДЕЛ удовлетворяет требованиям 1 НФ.

ОТДЕЛ

КОД_ОТД

НАИМ_ОТД

Ф.И.О_ЗАВ_ОТД

ТЕЛ

ОБ_РЕАЛ

В Таблице ПРОДАЖ все атрибуты имеют неделимые значения. Таким образом, таблица ПРОДАЖ удовлетворяет требованиям 1 НФ.

ПРОДАЖ

АРТ_Т

ДАТ_ПРОД

КОЛ_ПРОД_Т

КОД_ОТД

НАИМ_Т


В Таблице ТОВАР все атрибуты имеют неделимые значения. Таким образом, таблица ТОВАР удовлетворяет требованиям 1 НФ.

ТОВАР

АРТ_Т

НАИМ_Т

ЕД_ИЗМ

РОЗ_ЦЕН_Т

Определение 2нф

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

1) В таблице ОТДЕЛ неключевые поля НАИМ_ОТД, Ф.И.О_ЗАВ_ОТД, ТЕЛ, ОБ_РЕАЛ функционально зависят от ключа КОД_ОТД, что запишем

КОД_ОТД НАИМ_ОТД, Ф.И.О_ЗАВ_ОТД, ТЕЛ, ОБ_РЕАЛ

ОТДЕЛ

КОД_ОТД

НАИМ_ОТД

Ф.И.О_ЗАВ_ОТД

ТЕЛ

ОБ_РЕАЛ

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

КОД_ОТД НАИМ_ОТД, Ф.И.О_ЗАВ_ОТД, ТЕЛ, ОБ_РЕАЛ

  1.  В таблице ПРОДАЖ неключевые поля ДАТ_ПРОД, КОЛ_ПРОД_Т, КОД_ОТД, НАИМ_Т функционально зависят от ключа АРТ_Т, что запишем

АРТ_Т ДАТ_ПРОД, КОЛ_ПРОД_Т, КОД_ОТД, НАИМ_Т

ПРОДАЖ

АРТ_Т

ДАТ_ПРОД

КОЛ_ПРОД_Т

КОД_ОТД

НАИМ_Т


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

АРТ_Т ДАТ_ПРОД, КОЛ_ПРОД_Т, КОД_ОТД, НАИМ_Т

3) В таблице ТОВАР неключевые поля АРТ_Т, ЕД_ИЗМ, РОЗ_ЦЕН_Т функционально зависят от ключа НАИМ_Т, что запишем

НАИМ_Т АРТ_Т, ЕД_ИЗМ, РОЗ_ЦЕН_Т

ТОВАР

АРТ_Т

НАИМ_Т

ЕД_ИЗМ

РОЗ_ЦЕН_Т

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

НАИМ_Т АРТ_Т, ЕД_ИЗМ, РОЗ_ЦЕН_Т

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

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

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

В нашем примере не наблюдается транзитивная зависимость.

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

Как видим, нормализация приводит к фрагментации исходных таблиц. Осуществив связь этих таблиц посредством связи первичных и внешних ключей, получим реляционную модель данных предметной области БАНКОВСКИЕ ВКЛАДЫ, в которой минимизирована избыточность данных. Эта модель представлена на рисунке.

ОТДЕЛ

КОД_ОТД

НАИМ_ОТД

Ф.И.О_ЗАВ_ОТД

ТЕЛ

ОБ_РЕАЛ

ПРОДАЖ

АРТ_Т

ДАТ_ПРОД

КОЛ_ПРОД_Т

КОД_ОТД

НАИМ_Т

 

ТОВАР

АРТ_Т

НАИМ_Т

ЕД_ИЗМ

РОЗ_ЦЕН_Т

8