Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

3NF – третья нормальная форма

Рассмотрим понятие транзитивная функциональная зависимость.

Транзитивная функциональная зависимость

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

Пусть А, В, С – атрибуты некоторого отношения. При этом $А \to В$ и $В \to С$, а обратного соответствия нет, то есть $С \not \to В$ и $В \not \to А$. Тогда С транзитивно зависит от А.

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

Рассмотрим отношение ХРАНЕНИЕ (ОРГАНИЗАЦИЯ, СКЛАД, ВМЕСТИМОСТЬ), содержащее сведения об организациях, которые получают товары со складов, и о вместимости данных складов. Ключевым является атрибут ОРГАНИЗАЦИЯ. Если каждая организация товар может получать лишь с одного склада, то в рассматриваемом отношении существуют такие функциональные зависимости:

  • ОРГАНИЗАЦИЯ $\to$ СКЛАД,
  • СКЛАД $\to$ ВМЕСТИМОСТЬ.

В данной ситуации появляются аномалии:

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

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

  • ХРАНЕНИЕ (ОРГАНИЗАЦИЯ, СКЛАД),
  • ВМЕСТИМОСТЬ_СКЛАДА (СКЛАД, ВМЕСТИМОСТЬ).

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

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

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

Пример 1

Рассмотрим пример базы данных вуза:

ПРЕПОДАВАТЕЛИ (Таб_Номер_препод, ФИО_препод, Должность);

СТУДЕНТЫ (Номер_зачет_кн, ФИО_ст, Тема_курсовой);

КОНСУЛЬТАЦИЯ (Таб_Номер_препод, Номер_зачет_кн, Дата, Время, Кабинет, Объем).

В последнем отношении существует транзитивная зависимость:

(Таб_Номер_препод, Номер_зачет_кн, Дата) $\to$ Кабинет $\to$ Объем.

Таким образом, данное отношение не находится в третьей нормальной форме со следующими последствиями:

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

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

Следовательно, база данных данного примера без транзитивных зависимостей в третьей нормальной форме будет иметь следующий вид:

ПРЕПОДАВАТЕЛИ (Таб_Номер_препод, ФИО_препод, Должность);

СТУДЕНТЫ (Номер_зачет_кн, ФИО_ст, Тема_курсовой);

КОНСУЛЬТАЦИЯ (Таб_Номер_препод, Номер_зачет_кн, Дата, Время, Кабинет);

КАБИНЕТ (Кабинет, Объем).

«3NF – третья нормальная форма» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

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

Пример 2

Рассмотрим пример, в котором приведем таблицу 1, содержащую набор транзитивных зависимостей, к двум таблицам 2 и 3, которые находятся в третьей нормальной форме. Таблица 1 имеет такие ограничения предметной области:

  1. у каждого работника может быть лишь один менеджер;
  2. один менеджер может руководить несколькими работниками.

3NF – третья нормальная форма. Автор24 — интернет-биржа заказчиков и авторов

Дата написания статьи: 19.09.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot