5.2. Метод нормальных форм

Проектирование БД является одним из этапов жизненного цикла инфор­мационной системы. Основной задачей, решаемой в процессе проектирова­ния БД, является задача нормализации ее отношений. Рассматриваемый ниже метод нормальных форм является классическим методом проектирования реляционных БД. Этот метод основан на фундаментальном в теории реляци­онных баз данных понятии зависимости между атрибутами отношений.

Зависимости между атрибутами

Рассмотрим основные виды зависимостей между атрибутами отношений: функциональные, транзитивные и многозначные.

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

Атрибут В функционально зависит от атрибута А, если каждому значе­нию А соответствует в точности одно значение В. Математически функцио­нальная зависимость В от А обозначается записью А—»В. Это означает, что во всех кортежах с одинаковым значением атрибута А атрибут В будет иметь также одно и то же значение. Отметим, что А и В могут быть составными -состоять из двух и более атрибутов.

В отношении на рис. 5.4 можно выделить функциональные зависимости между атрибутами ФИО—»Каф, ФИО—»Должн, Должн—>Оклад и другие. Наличие функциональной зависимости в отношении определяется природой вещей, информация о которых представлена кортежами отношения. В отно-Например, пусть преподаватель ведет несколько предметов, а каждый предмет может вестись несколькими преподавателями, тогда имеет место зависимость ФИО<=>Предмет. Так, из таблицы 7.2, приведенной на рис. 5.4., видно, что преподаватель Иванов И.М. ведет занятия по двум предметам, а дисциплина СУБД - читается двумя преподавателями: Ивановым И.М. и Петровым М.И.

Замечание. В общем случае между двумя атрибутами одного отношения могут существовать зависимости: 1:1,1:М, М:1 и М:М. Поскольку зависимость между атрибутами является причиной аномалий, стараются расчленить отно­шения с зависимостями атрибутов на несколько отношений. В результате об­разуется совокупность связанных отношений (таблиц) со связями вида 1:1,1 :М, М:1 и М:М (подраздел 3.3). Связи между таблицами отражают зависимости между атрибутами различных отношений.

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

В случае двух атрибутов отсутствие зависимости атрибута А от атрибута В можно обозначить так: Ai—>В. Случай, когда Ai—>В и В—i—>А, можно обо­значить A-i=B.

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

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

Выделяют следующую последовательность нормальных форм:

  первая нормальная форма (1НФ);

  вторая нормальная форма (2НФ);

  третья нормальная форма (ЗНФ);

  усиленная третья нормальная форма, или нормальная форма Бойса -
Кодда(БКНФ);

  четвертая нормальная форма (4НФ);

  пятая нормальная форма (5НФ).

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

Перевод отношения в следующую нормальную форму осуществляется методом «декомпозиции без потерь». Такая декомпозиция должна обеспе­чить то, что запросы (выборка данных по условию) к исходному отноше­нию и к отношениям, получаемым в результате декомпозиции, дадут одина­ковый результат.

Основной операцией метода является операция проекции. Поясним ее на примере. Предположим, что в отношении R(A,B,C,D,E,...) устранение функ­циональной зависимости С—»D позволит перевести его в следующую нормаль­ную форму. Для решения этой задачи выполним декомпозицию отношения R на два новых отношения R1(A,B,C,E,...) и R2(C,D). Отношение R2 являет­ся проекцией отношения R на атрибуты С и D.

Исходное отношение ПРЕПОДАВАТЕЛЬ, используемое для иллюстра­ции метода, имеет составной ключ ФИО. Предм. Группа и находится в 1НФ, поскольку все его атрибуты простые.

В этом отношении в соответствии с рис. 5.5 б можно выделить частичную зависимость атрибутов Стаж, Д_Стаж, Каф, Должн, Оклад от ключа - ука­занные атрибуты находятся в функциональной зависимости от атрибута ФИО, являющегося частью составного ключа.

Эта частичная зависимость от ключа приводит к следующему:

1. В отношении присутствует явное и неявное избыточное дублирование данных, например:

  повторение сведений о стаже, должности и окладе преподавателей, проводящих занятия в нескольких группах и/или но разным предметам;

  повторение сведений об окладах для одной и той же должности или о надбавках за одинаковый стаж.

2. Следствием избыточного дублирования данных является проблема их редактирования. Например, изменение должности у преподавателя Иванова И.М. потребует просмотра всех кортежей отношения и внесения изменений в те из них, которые содержат сведения о данном преподавателе. Часть избыточности устраняется при переводе отношения в 2НФ.

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

Для устранения частичной зависимости и перевода отношения в 2НФ не­обходимо, используя операцию проекции, разложить его на несколько отно­шений следующим образом:

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

построить проекции на части составного первичного ключа и атрибуты, зависящие от этих частей.

В результате получим два отношения R1 и R2 в 2НФ (рис. 5.6).

В отношении R1 первичный ключ является составным и состоит из атри­бутов ФИО. Предм. Группа. Напомним, что данный ключ в отношении R1 получен в предположении, что каждый преподаватель в одной группе по од­ному предмету может либо читать лекции, либо проводить практические за­нятия. В отношении R2 ключ ФИО.

Исследование отношений R1 и R2 показывает, что переход к 2НФ позво­лил исключить явную избыточность данных в таблице R2 - повторение строк со сведениями о преподавателях. В R2 по-прежнему имеет место неявное дуб­лирование данных.

Для дальнейшего совершенствования отношения необходимо преобразо­вать его в ЗНФ.

 

 

 

Hosted by uCoz