Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Нормальная форма.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
221 Кб
Скачать
☆

Определение

Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме (2NF) и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A - набор ключевых атрибутов (ключ), B и С - различные множества неключевых атрибутов.

При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.

Пример

Пример приведения таблицы к третьей нормальной форме

Исходная таблица:

Фамилия

Отдел

Телефон

Гришин

1

11-22-33

Васильев

1

11-22-33

Петров

2

44-55-66

В результате приведения к 3NF получаются две таблицы:

Фамилия

Отдел

Гришин

1

Васильев

1

Петров

2

Отдел

Телефон

1

11-22-33

2

44-55-66

Нормальная форма Бойса—Кодда (BCNF) — одна из возможных нормальных форм таблицы реляционной базы данных. Это модификация третьей нормальной формы (в некоторых источниках именно 3NF называется формой Бойса-Кодда). Названа в честь Рэя Бойса и Эдгара Кодда.

Определение

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

Пример 1

Пример приведения таблицы к нормальной форме Бойса—Кодда

Исходная таблица:

Номер клиента

Дата собеседования

Время собеседования

Номер комнаты

Номер сотрудника

С345

13.10.03

13.00

103

А138

С355

13.10.03

13.05

103

А136

С368

13.09.03

13.00

102

А154

С366

13.09.03

13.30

105

А207

В результате приведения к форме Бойса—Кодда получаются две таблицы:

Номер клиента

Дата собеседования

Время собеседования

Номер Сотрудника

С345

13.10.03

13.00

А138

С355

13.10.03

13.05

А136

С368

13.09.03

13.00

А154

С366

13.09.03

13.30

А207

Дата собеседования

Номер сотрудника

Номер комнаты

13.10.03

А138

103

13.10.03

А136

103

13.09.03

А154

102

13.09.03

А207

105