Нормальная форма Бойса-Кодда. Функциональные зависимости между атрибутами.

Этот этап проектирования называется нормализацией отношения.

Для того, чтобы, не вдаваясь в детали, узнать нуждается ли отношение в нормализации, необходимо определить находится ли оно в нормальной форме Бойса-Кодда(НФБК). Если отношение находится в НФБК, то оно почти наверняка не требует нормализации. А для того, чтобы это выяснить, необходимо определить функциональные зависимости между всеми атрибутами отношения, как показано на схеме функциональных зависимостей.

Зная №поезда, всегда можно однозначно определить подход, с которого он прибыл. Следовательно, атрибут Подход функционально зависит от атрибута №поезда. Или наоборот атрибут №поезда является детерминантом атрибута Подход. На схеме функциональных зависимостей это показано стрелкой, направленной от атрибута №поезда к атрибуту Подход.

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

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

На схеме представлены не все функциональные зависимости.

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

Если атрибут Подход функционально зависит от атрибута №поезда, а атрибут №поезда в свою очередь функционально зависит от атрибута Инв№вагона, то атрибут Подход функционально зависит от атрибута Инв№вагона.

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

В правом нижнем углу схемы приводится список детерминантов отношения. А в левом нижнем – список возможных ключей отношения.

В нашем примере возможным ключом универсального отношения является атрибут Инв№вагона.

 
  Нормальная форма Бойса-Кодда. Функциональные зависимости между атрибутами. - student2.ru


Возможные ключи Детерминанты
<Инв№вагона> <№поезда>
  <Момент_ок_роспуска>
  <Инв№вагона>
   

После этого сравниваем список детерминантов и список возможных ключей. Списки не совпадают: т.е. не все возможные ключи являются детерминантами. Следовательно, отношение не находится в НФБК.

Нормализовать отношение будем при помощи ER-метода.

4. Выделение сущностей из ненормализованного отношения и установление связи между ними.

Выделим сущности ПОЕЗД и ВАГОН и установим между ними связь СОСТОИТ_ИЗ.

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

Связь – это зависимость между сущностями. (В данной работе будем рассматривать только бинарные связи, т.е. связи между двумя сущностями.)

Атрибут – это свойство сущности.

Действительно, сущность ПОЕЗД имеет экземпляры, которые представлены в универсальном отношении, и которые можно отличить друг от друга или идентифицировать по номеру поезда. А сущность ВАГОН состоит из вагонов, которые тоже можно идентифицировать.

Между этими сущностями действительно существует связь СОСТОИТ_ИЗ, т.к. поезда состоят из вагонов. (Название связи чаще всего является глаголом.)

Графически связь СОСТОИТ_ИЗ между сущностями ПОЕЗД и ВАГОН может быть представлена в виде:

1) диаграммы ER-экземпляров;

2) диаграммы ER-типа.

Наши рекомендации