Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 03 Лекция 1 (4).doc
Скачиваний:
1
Добавлен:
13.11.2019
Размер:
171.01 Кб
Скачать

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

В общем случае 1НФ и 2НФ рассматриваются как промежуточные ступени в процессе нормализации базы данных. Большая часть СУБД ориентирована на достижение следующей степени нормализации, именуемой третьей нормальной формой (ЗНФ).

Приведем определение третьей нормальной формы.

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

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

Для большинства существующих СУБД и инструментов CASE-технологии необходимо представить проект вашей базы данных в ЗНФ, так как этого вполне достаточно практически для всех обычных приложений. При разработке исключительно больших систем на сверхбыстродействующих компьютерах, когда необходимо обеспечить максимальное сокращение объемов хранимых данных, желательно провести дальнейшую нормализацию.

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

Ниже приводится определение варианта ЗНФ, называемого нормальной формой Бойса— Кодда (Воусе — Codd) — БКНФ, где устанавливаются более строгие требования.

■ Таблица X представлена в нормальной форме Бойса—Кодда (БКНФ), если в каждой нетривиальной функциональной зависимости В→А В является суперключом.

В базе данных «БИБЛИОТЕКА» нет примера, позволяющего проиллюстрировать приведение таблиц к ЗНФ. Поэтому приведем простой пример, основывающийся на таблице, применяемой для учета товара на складе. Кажется логичным, чтобы в нее входили в числе многих три следующих атрибута: «Количество товара», «Цена за единицу товара» и «Общая стоимость товара». Эти поля не являются ключевыми. Но чтобы получить значение «Общей стоимости товара» можно перемножить значения, находящиеся в полях : «Количество товара» и «Цена за единицу товара». Т.е. значение поля «Общей стоимости товара» зависит от двух полей, не входящих в первичный ключ. Это противоречит определению третьей нормальной формы. Чтобы данная таблица соответствовала третьей нормальной форме из нее необходимо исключить поле «Общая стоимость товара».

4.5. Четвертая и пятая нормальные формы.

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

Многозначная зависимость определяется следующим образом.

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

Прежде всего, для существования многозначной зависимости требуется существование пар строк. А и В могут быть как отдельными атрибутами, так и объединением некоторого набора атрибутов. Тривиальная многозначная зависимость для А→В существует в случае, когда В является подмножеством А или А объединяет B=XS (более крупная таблица содержит исходную таблицу).

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

Определим четвертую нормальную форму.

Таблица X представлена в 4НФ тогда и только тогда, когда она представлена в БКНФ и для любой многозначной зависимости А→В в этой таблице можно сказать, что эта зависимость либо является тривиальной, либо А является суперключом таблицы X.

И последнее. Рассмотрим пятую нормальную форму.

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

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