Моделирование взаимосвязей между сущностями

   495 769-36-75 краны - Аренда автокранов - услуги крана. |     

Уникальный идентификатор


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

Для самолета в таком случае могут иметь значение и номера шасси, и номера двигателей и т.п.

Значение атрибута должно зависеть от всего уникального идентификатора.

Уберите те из атрибутов, значения которых зависят только от одной составляющей уникального идентификатора. Эти действия называют "Второй формой нормализации" (см. Приложение A). Подобные атрибуты обычно указывают на отсутствие какой-либо сущности.

Атрибуты должны зависеть от значения уникального идентификатора

Уберите те из атрибутов, которые не зависят от значения уникального идентификатора сущности (т.н. "Третья форма нормализации"). Так, например, на посадочном талоне может быть записано имя пассажира. Но:

"Зависит ли имя пассажира как-нибудь от значения уникального идентификатора посадочного талона?"

Очевидно, нет. (Не должен же я менять свое имя при выписке посадочного талона!) Если атрибут не зависит от значения уникального идентификатора, значит, возможно, нами не учтена какая-либо сущность и/или связь.

Необязательные атрибуты

Значения некоторых атрибутов могут в какие-то моменты просто отсутствовать или же быть недоступны. В таких случаях перед именем атрибута на схеме ставится буква "o", что говорит о том, что атрибут - необязательный (optional).

Обязательные атрибуты

Те атрибуты, значения которых должны быть известны всегда, имеют перед своим именем значок "*". Но будьте внимательны - добавленное вами условие будет означать, что вам не известен случай появления такого экземпляра сущности, который не имел бы значений своих обязательных атрибутов. Вот то, что я называю настоящей строгостью! На практике же уровень строгости соглашений обычно слегка смягчается.

Рисунок 3-17. Изображение необязательности атрибутов

Определение уникального идентификатора


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

Сущность может иметь несколько альтернативных способов уникальной идентификации: первый метод состоит в обозначении тех атрибутов, которые составляют уникальный идентификатор, символом "#" и в перечеркивании входящих в уникальный идентификатор связей.

Рисунок 3-18. Изображение уникальных идентификаторов



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

  • связь с местом и, благодаря этому, с его номером;


  • связь с рейсом и, таким образом, с датой и временем вылета;


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


  • для уникального определения рейса необходима также связь с авиамаршрутом и номер рейса.



  • Содержание раздела