Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика(1).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
21.04 Mб
Скачать

4.3 Нормализация отношений

На примере сущностей «Сотрудники», «Выплата зарплаты», «Выплата ЗП_Начисления» докажем, что нормализация проведена в полном объеме. Первоначально была выделена сущность «Выплата зарплаты сотрудникам» (Уникальный идентификатор ведомости, Номер, Дата, Начало расчетного периода, Конец расчетного периода, Уникальный идентификатор сотрудника, Наименование сотрудника, Основное изображение, Дата рождения, Комментарий, Заработок, Всего, Премия, Штраф, Сырье, Заем, НДФЛ, КТУ, К выплате, Выдано, Остаток).

Полученное отношение является ненормализованным. Атрибут «Заработок» не является атомарными. Для приведения модели к первой нормальной форме необходимо заменить составной атрибут на следующие атрибуты: «Оклад», «Сдельный заработок», «Ссыпка», «Украшение», «Укладка».

Одни и те же значения атрибутов «Уникальный идентификатор сотрудника», «Наименование сотрудника», «Основное изображение», «Дата рождения», «Комментарий» будут появляться в отношении «Выплата зарплаты сотрудникам» столько раз, сколько раз каждому сотруднику будет выплачиваться зарплата. Подобная избыточность приводит к проблеме достоверности данных. Если сотрудник сменит фамилию, то потребуется проводить модификацию данных в нескольких строках таблицы.

Для определения 2НФ необходимо выявить полные функциональные зависимости. Если такие зависимости присутствуют, то их следует представить в виде отдельных проекций. В отношении «Выплата зарплаты сотрудникам» атрибуты «Наименование сотрудника», «Основное изображение», «Дата рождения», «Комментарий» зависят от «Уникального идентификатора сотрудника», атрибуты «Оклад», «Сдельный заработок», «Ссыпка», «Украшение», «Укладка», «Всего», «Премия», «Штраф», «Сырье», «Заем», «НДФЛ», «КТУ», «К выплате», «Выдано», «Остаток» зависят от атрибутов «Уникальный идентификатор сотрудника» и «Уникальный идентификатор ведомости», а атрибуты «Номер», «Дата», «Начало расчетного периода», «Конец расчетного периода» зависят от «Уникального идентификатора ведомости». Таким образом, отношение «Выплата зарплаты сотрудникам» не находится во второй нормальной форме. Используя правило декомпозиции, приведем отношение ко второй нормальной форме. В результате декомпозиции получатся три сущности

  • Сотрудники («Уникальный идентификатор сотрудника», «Наименование сотрудника», «Основное изображение», «Дата рождения», «Комментарий»);

  • Выплата зарплаты («Уникальный идентификатор ведомости», «Номер», «Дата», «Начало расчетного периода», «Конец расчетного периода»);

  • Выплата зарплаты_Сотрудники ((«Уникальный идентификатор сотрудника», «Уникальный идентификатор ведомости», «Оклад», «Сдельный заработок», «Ссыпка», «Украшение», «Укладка», «Всего», «Премия», «Штраф», «Сырье», «Заем», «НДФЛ», «КТУ», «К выплате», «Выдано», «Остаток»).

Сущность «Сотрудники» находится в первой нормальной форме, первичным ключом является атрибут «Уникальный идентификатор сотрудника». Каждый непервичный атрибут сущности «Сотрудники» функционально полно зависит от ключа, следовательно, оно находится во второй нормальной форме.

Сущность «Выплата зарплаты_Сотрудники» находится в первой нормальной форме, первичным ключом является набор атрибутов «Уникальный идентификатор сотрудника», «Уникальный идентификатор ведомости.

Отношение «Выплата зарплаты» находится в первой нормальной форме, первичным ключом является атрибут «Уникальный идентификатор ведомости». Каждый непервичный атрибут отношения «Выплата зарплаты» функционально полно зависит от ключа, следовательно, оно находится во второй нормальной форме.

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

Аналогичным образом была проведена нормализация всех остальных сущностей. Все отношения, кроме намеренно денормализованных, находятся и в 3НФ, так как в них отсутствуют функциональные зависимости неключевых атрибутов друг от друга.