Главная страница
Навигация по странице:

  • Первая нормальная форма

  • Аномалии обновления

  • Аномалия вставки

  • Аномалия обновления

  • Аномалия удаления

  • Вторая нормальная форма

  • Третья нормальная форма

  • Основы проектирования баз данных — копия (2) (1). Нормальные формы Нормальные формы


    Скачать 93.62 Kb.
    НазваниеНормальные формы Нормальные формы
    Дата17.10.2022
    Размер93.62 Kb.
    Формат файлаpptx
    Имя файлаОсновы проектирования баз данных — копия (2) (1).pptx
    ТипДокументы
    #737738

    Нормальные формы

    Нормальные формы

    Рассмотрим в качестве предметной области некоторую организацию, выполняющую ряд проектов. Модель предметной области опишем следующим образом:

    • Сотрудники организации выполняют проекты;
    • Проекты состоят из нескольких заданий;
    • Каждый сотрудник может участвовать в одном или нескольких проектах или временно не участвовать ни в каких проектах;
    • Над каждым проектом могут работать несколько сотрудников (проект поделен на задания) или временно проект может быть приостановлен, тогда над ним не работает ни один сотрудник;
    • Над каждым заданием в проекте работает один сотрудник;
    • Каждый сотрудник числится в одном отделе;
    • В каждом отделе имеется телефон;
    • О каждом сотруднике необходимо хранить табельный номер и фамилию. Табельный номер является уникальным;
    • Каждый отдел имеет уникальный номер;
    • Каждый проект имеет номер и наименование;
    • Каждое задание из проекта имеет номер, уникальный в пределах проекта. Задания в разных проектах могут иметь одинаковые номера.

    Первая нормальная форма

    Первая нормальная форма

    Отношение находится в первой нормальной форме (1НФ) тогда и только тогда, когда любое значение каждого кортежа (экземпляра) для каждого атрибута содержит только одно значение.

    На первом этапе моделирования данные хранятся в одном отношении, имеющем следующие атрибуты:

    Проектные работы (ном_сотр, фамилия, ном_отд, ном_проекта, наименование, ном_задания, телефон)

    Т. к. сотрудник в каждом проекте выполняет ровно одно задание, то в качестве потенциального ключа отношений, необходимо взять пару атрибутов {ном_сотр, ном_проекта}

    Аномалии обновления

    Аномалии обновления

    Данные в отношении «Проектные работы» хранятся с большой избыточностью (повторяются фамилии, телефоны, названия проектов). Кроме того, в отношении хранятся независимые друг от друга данные (о сотрудниках, о проектах, об объектах).

    Аномалия вставки: Нельзя добавить строку 5, Ромашкин, 13, null, null, null, 33-44-55, т. к. атрибут ном_проекта входит в состав ключа и поэтому не может иметь нулевое значение.

    Аномалия обновления: фамилии сотрудников, названия проектов повторяются многократно, поэтому если например изменить название проекта Волонтер, то такие изменения необходимо выполнить одновременно во всех местах, где встречается данное название.

    Аномалия удаления: если уволить сотрудницу Сидорову И. Н., то будет потеряна информация о проекте Реклама.

    Вывод: Логическая модель данных не адекватна модели предметной области. БД основанная на такой модели будет работать некорректно.

    Отношение «Проектные работы» находится в 1НФ, при этом логическая модель данных неадекватна модели предметной области. Таким образом первой нормальной формы недостаточно для правильного моделирования данных.

    Зависимость атрибутов от ключа отношения:

    {ном_сотр, ном_проекта} -> Фамилия

    {ном_сотр, ном_проекта} -> ном_отдела

    {ном_сотр, ном_проекта} -> наименование

    {ном_сотр, ном_проекта} -> ном_задания

    {ном_сотр, ном_проекта} -> телефон

    Зависимость атрибутов, характеризующих сотрудника от табельного номера сотрудника:

    {ном_сотр} -> фамилия

    {ном_сотр} -> ном_отдела

    {ном_сотр} -> телефон

    Зависимость наименования проекта от номера проекта: {ном_проекта} -> наименование

    Вторая нормальная форма

    Вторая нормальная форма

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

    Отношение «Проектные работы» не находятся во 2НФ, т. к. есть неключевые атрибуты, зависящие от части сложного ключа.

    {ном_сотр} -> фамилия

    {ном_сотр} -> ном_отдела

    {ном_сотр} -> телефон

    {ном_проекта} -> наименование

    Для того, чтобы устранить зависимость атрибутов от части сложного ключа, нужно произвести декомпозицию отношения на несколько отношений, причем те атрибуты, которые зависят от части сложного ключа выносятся в отдельные отношения.

    Вывод: Логическая модель данных неадекватна модели предметной области.


    Ном_сотр

    Фамилия

    Ном_отдела

    Телефон

    1

    Иванов И. И.

    11

    11-22-33

    2

    Петров Н. Н.

    11

    11-22-33

    3

    Сидорова И. Н.

    12

    22-33-44

    4

    Солнцева О. С.

    13

    33-44-55

    Ном_проекта

    Наименование

    212

    Чистый город

    222

    Волонтер

    232

    Реклама

    Ном_сотр

    Ном_проекта

    Ном_задания

    1

    212

    01

    1

    222

    01

    2

    222

    02

    3

    232

    01

    3

    212

    02

    4

    222

    02

    Третья нормальная форма

    Третья нормальная форма

    Отношение находится в третьей нормальной форме тогда и только тогда, когда оноо находится во второй нормальной форме и ни один неключевой атрибут не является транзитивно зависимым от его первичного ключа.

    Отношение «Сотрудники» не находится в 3НФ, т. к. имеется функциональная зависимость неключевых атрибутов: ном_отд -> телефон.

    Для того, чтобы устранить зависимость неключевых атрибутов нужно произвести декомпозицию отношения на несколько отношений, причем те неключевые атрибуты, которые являются зависимыми, выносятся в отдельные отношения.

    Ном_отдела

    Телефон

    11

    11-22-33

    12

    22-33-44

    13

    33-44-55

    Ном_сотр

    Фамилия

    Ном_отдела

    1

    Иванов И. И.

    11

    2

    Петров Н. Н.

    11

    3

    Сидорова И. Н.

    12

    4

    Солнцева О. С.

    13

    Ном_проекта

    Наименование

    212

    Чистый город

    222

    Волонтер

    232

    Реклама

    Ном_сотр

    Ном_проекта

    Ном_задания

    1

    212

    01

    1

    222

    01

    2

    222

    02

    3

    232

    01

    3

    212

    02

    4

    222

    02

    Ном_отдела

    Телефон

    11

    11-22-33

    12

    22-33-44

    13

    33-44-55

    Ном_сотр

    Фамилия

    Ном_отдела

    1

    Иванов И. И.

    11

    2

    Петров Н. Н.

    11

    3

    Сидорова И. Н.

    12

    4

    Солнцева О. С.

    13

    Вывод: Т. о. все обнаруженные аномалии устранены. Реляционная модель состоит из четырех отношений: Сотрудники, Проекты, Отделы, Задания, которые находятся в 3НФ, являются адекватной описанной модели предметной области.


    написать администратору сайта