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

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

Минимизировать избыточность данных позволяет процесс, называемый нормализацией таблиц. Нормализацию можно было использовать для получения эффективных структур данных, созданных в результате преобразования ER-диаграмм. Но чтобы пояснить этот процесс, будем исходить из описания предметной области НАУЧНО-ПРОИЗВОДСТВЕННОЕ ПРЕДПРИЯТИЕ.

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

 

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

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

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

ЛЕКАРСТВО

КОД_ЛЕК

НАЗ_ЛЕК

ПР_ЛЬ

ЦЕНА



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

ЗАКУПКА

НОМ_ЗАЯВ

КОД_ЛЕК

КОЛ-ВО



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

ЗАЯВКА

НОМ_ЗАЯВ

ДАТА_СОСТ_ЗАЯВ

НОМ_АПТ

ДАТА_ВЫП_ЗАЯВ



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

АПТЕКА

НОМ_АПТ

НАЗ_АПТ

АДД_АПТ

НОМ_ТЕЛ



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

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

ЛЕКАРСТВО

КОД_ЛЕК

НАЗ_ЛЕК

ПР_ЛЬ

ЦЕНА



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

НАЗ_ЛЕК КОД_ЛЕК, ПР_ЛЬ, ЦЕНА

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

НАЗ_ЛЕК КОД_ЛЕК, ПР_ЛЬ, ЦЕНА

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

КОД_ЛЕК НОМ_ЗАЯВ, КОЛ-ВО

ЗАКУПКА

НОМ_ЗАЯВ

КОД_ЛЕК

КОЛ-ВО



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

КОД_ЛЕК НОМ_ЗАЯВ, КОЛ-ВО

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

НОМ_ЗАЯВ ДАТА_СОСТ_ЗАЯВ, НОМ_АПТ, ДАТА_ВЫП_ЗАЯВ

ЗАЯВКА

НОМ_ЗАЯВ

ДАТА_СОСТ_ЗАЯВ

НОМ_АПТ

ДАТА_ВЫП_ЗАЯВ



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

НОМ_ЗАЯВ ДАТА_СОСТ_ЗАЯВ, НОМ_АПТ, ДАТА_ВЫП_ЗАЯВ

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

НОМ_АПТ НАЗ_АПТ, АДД_АПТ, НОМ_ТЕЛ

АПТЕКА

НОМ_АПТ

НАЗ_АПТ

АДД_АПТ

НОМ_ТЕЛ



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

НОМ_АПТ НАЗ_АПТ, АДД_АПТ, НОМ_ТЕЛ