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

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

Минимизировать избыточность данных позволяет процесс, называемый нормализацией таблиц. Нормализацию можно было использовать для получения эффективных структур данных, созданных в результате преобразования ER-диаграмм. Но чтобы пояснить этот процесс, будем исходить из описания предметной области ИЗДАТЕЛЬСКИЙ ЦЕНТР.

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

 

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

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

В Таблице ПИСАТЕЛЬ–КОНТРАКТ все атрибуты имеют неделимые значения. Таким образом, таблица ПИСАТЕЛЬ–КОНТРАКТ удовлетворяет требованиям 1 НФ.

ПИСАТЕЛЬ–КОНТРАКТ

НОМ_ПАС

ФАМ

ИМЯ

ОТЧ

АДР

ТЕЛ

НОМ_КОН

ДАТ_ЗАКЛ_КОН

СР_КОН

КОН_РАСТ

ДАИ_РОЖ_КОН


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

КНИГА

Ш_КН

НАЗ

ТИР

ДАТ_ВЫХ

СЕБ-ТЬ

ЦЕНА

ГОН

НОМ_КОН

НОМ_ЗАКАЗА


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

ЗАКАЗ

НОМ_ЗАКАЗА

ДАТ_ПОСТ_ЗАК

ДАТ_ВЫП_ЗАК

КОЛ_ЭКЗ

НОМ_ЗАКАЗЧ


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

ЗАКАЗЧИК

НОМ_ЗАКАЗЧ

АДР

ТЕЛ

ОБР

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

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

ЗАКАЗЧИК

НОМ_ЗАКАЗЧ

АДР

ТЕЛ

ОБР

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

НОМ_ЗАКАЗЧ АДР, ТЕЛ, ОБР

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

НОМ_ЗАКАЗЧ АДР, ТЕЛ, ОБР

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

НОМ_ЗАКАЗА ДАТ_ПОСТ_ЗАК, ДАТ_ВЫП_ЗАК КОЛ_ЭКЗ, НОМ_ЗАКАЗЧ

ЗАКАЗ

НОМ_ЗАКАЗА

ДАТ_ПОСТ_ЗАК

ДАТ_ВЫП_ЗАК

КОЛ_ЭКЗ

НОМ_ЗАКАЗЧ


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

НОМ_ЗАКАЗА ДАТ_ПОСТ_ЗАК, ДАТ_ВЫП_ЗАК КОЛ_ЭКЗ, НОМ_ЗАКАЗЧ

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

Ш_КН НАЗ, ТИР, ДАТ_ВЫХ, СЕБ-ТЬ, ЦЕНА, ГОН, НОМ_КОН, НОМ_ЗАКАЗА

КНИГА

Ш_КН

НАЗ

ТИР

ДАТ_ВЫХ

СЕБ-ТЬ

ЦЕНА

ГОН

НОМ_КОН

НОМ_ЗАКАЗА


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

Ш_КН НАЗ, ТИР, ДАТ_ВЫХ, СЕБ-ТЬ, ЦЕНА, ГОН, НОМ_КОН, НОМ_ЗАКАЗА

4) В таблице ПИСАТЕЛЬ–КОНТРАКТ неключевые поля НОМ_ПАС, ФАМ, ИМЯ, ОТЧ, АДР, ТЕЛ, ДАТ_ЗАКЛ_КОН, СР_КОН КОН_РАСТ, ДАИ_РОЖ_КОН функционально зависят от ключа НОМ_КОН, что запишем

НОМ_КОН НОМ_ПАС, ФАМ, ИМЯ, ОТЧ, АДР, ТЕЛ, ДАТ_ЗАКЛ_КОН, СР_КОН КОН_РАСТ, ДАИ_РОЖ_КОН

ПИСАТЕЛЬ–КОНТРАКТ

НОМ_ПАС

ФАМ

ИМЯ

ОТЧ

АДР

ТЕЛ

НОМ_КОН

ДАТ_ЗАКЛ_КОН

СР_КОН

КОН_РАСТ

ДАИ_РОЖ_КОН


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

НОМ_КОН НОМ_ПАС, ФАМ, ИМЯ, ОТЧ, АДР, ТЕЛ, ДАТ_ЗАКЛ_КОН, СР_КОН КОН_РАСТ, ДАИ_РОЖ_КОН

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

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

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

Ш_КН  СЕБ-ТЬ, ЦЕНА, ГОН

Следовательно, нарушаются требования 3НФ. Из таблицы КНИГА надо удалить поля, участвующие в этой транзитивной зависимости, – СЕБ-ТЬ, ЦЕНА, ГОН. Получится таблица, характеризующая оплата, вида

КНИГА

Ш_КН

НАЗ

ТИР

ДАТ_ВЫХ

НОМ_КОН

НОМ_ЗАКАЗА


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

ОПЛАТА

СЕБ-ТЬ

ЦЕНА

ГОН

Ш_КН


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

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

КНИГА

Ш_КН

НАЗ

ТИР

ДАТ_ВЫХ

НОМ_КОН

НОМ_ЗАКАЗА

ОПЛАТА

СЕБ-ТЬ

ЦЕНА

ГОН

Ш_КН


ПИСАТЕЛЬ–КОНТРАКТ

НОМ_ПАС

ФАМ

ИМЯ

ОТЧ

АДР

ТЕЛ

НОМ_КОН

ДАТ_ЗАКЛ_КОН

СР_КОН

КОН_РАСТ

ДАИ_РОЖ_КОН


ЗАКАЗ

НОМ_ЗАКАЗА

ДАТ_ПОСТ_ЗАК

ДАТ_ВЫП_ЗАК

КОЛ_ЭКЗ

НОМ_ЗАКАЗЧ


ЗАКАЗЧИК

НОМ_ЗАКАЗЧ

АДР

ТЕЛ

ОБР


Рис. Реляционная модель предметной области ИЗДАТЕЛЬСКИЙ ЦЕНТР после нормализации