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

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

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

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

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

Пусть a,b,cатрибуты некоторого отношения, причем ab и bc, но обратного соответствия нет (cb и ba). Тогда c транзитивно зависит от a.

Рассмотрим пример.

Пример 1

Пусть существует отношение ХРАНИЛИЩЕ, которое содержит атрибуты Организация, Склад, Объемы и хранит информацию об организациях, которые получают товары со складов, и об объемах складов. Ключевым является атрибут Организация. Если каждая организация может получить товар лишь с одного склада, то данное отношение имеет такие функциональные зависимости:

  • Организация Склад;
  • Склад Объемы.

В таком случае возникают аномалии:

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

Во избежание таких ситуаций нужно разбить на два исходное отношение:

  • ХРАНИЛИЩЕ (Организация, Склад);
  • ОБЪЕМЫ_СКЛАДА (Склад, Объемы).

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

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

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

То есть, если существует отношение R(k,a,b), которое находится во второй нормальной форме, где k является первичным ключом, а a и b – неключевыми атрибутами отношения R, и существуют функциональные зависимости: ka,

ab,

то атрибут b состоит в транзитивной зависимости от k.

Чтобы привести отношение $R4 к третьей нормальной форме его нужно декомпозировать на 2 отношения:R4 к третьей нормальной форме его нужно декомпозировать на 2 отношения:

R1(k,a) и R2(a,b).

Между отношениями R1 и R2 будет связь «многие-к-одному» по атрибуту a.

Пример 2

Пусть существует отношение Группы (Номер_группы, Название_специальности, Факультет) и имеет первичным ключ Номер_группы.

Специальность однозначно определяется атрибутом Номер_группы, а факультет однозначно определяется атрибутом Название_специальности.

Таким образом, имеются такие функциональные зависимости:

  • Номер_группы Название_специальности (Название_специальности Номер_группы);
  • Название_специальности Факультет (Факультет Название_специальности).

Если исключить транзитивную функциональную зависимость, будем иметь отношения:

  • Группы (Номер_группы, Название_специальности);
  • Специальности (Название_специальности, Факультет).
«Третья нормальная форма» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Рассмотрим еще один пример.

Пример 3

Пусть база данных содержит следующие отношения:

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

СТУДЕНТЫ (Зачетн_книжка, ФИО, Тема_диплома);

КОНСУЛЬТАЦИИ (Табельн_номер, Зачетн_книжка, Дата, Номер_ауд, Число_мест).

Отношение КОНСУЛЬТАЦИИ содержит транзитивную зависимость:

(Табельн_номер, Зачетн_книжка, Дата) Номер_ауд Число_мест.

Таким образом, отношение КОНСУЛЬТАЦИИ не находится в третьей нормальной форме, вследствие чего может произойти следующее:

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

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

База данных без транзитивных зависимостей в третьей нормальной форме будет иметь вид:

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

СТУДЕНТЫ (Зачетн_книжка, ФИО, Тема_диплома);

КОНСУЛЬТАЦИИ (Табельн_номер, Зачетн_книжка, Дата, Номер_ауд);

АУДИТОРИИ (Номер_ауд, Число_мест).

В процессе проектирования структуры реляционной БД принято создавать БД как минимум в третьей нормальной форме. Если реляционная база данных приведена к третьей нормальной форме, то процесс ее проектирования обычно заканчивается.

Дата написания статьи: 01.08.2016
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты
Все самое важное и интересное в Telegram

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

Перейти в Telegram Bot

Изучаешь тему "Третья нормальная форма"? Могу объяснить сложные моменты или помочь составить план для домашнего задания!

AI Assistant