<На страницу назад | На страницу вперед >

3.5. Атрибуты

Семантика атрибутов

Атрибут представляет тип характеристик или свойств, ассоциированных со множеством реальных или абстрактных объектов (людей, объектов, мест, событий, состояний, идей, пар предметов и т.д.). Экземпляр атрибута - это определенная характеристика отдельного элемента множества. Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута. В IDEF1X-модели атрибуты ассоциируются со специфическими сущностями. Таким образом, экземпляр сущности должен обладать единственным определенным значением для ассоциированного атрибута. Например, ассоциированными с сущностью СЛУЖАЩИЙ могут быть атрибуты ФАМИЛИЯ_СЛУЖАЩЕГО и ДАТА_РОЖДЕНИЯ. Экземпляр сущности СЛУЖАЩИЙ может иметь в качестве значений атрибутов "Дженни Линн" и "27 февраля, 1973".

Сущность должна обладать, атрибутом или комбинацией атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Эти атрибуты образуют первичный ключ сущности (см. раздел 3.6).

Например, первичным ключем сущности СЛУЖАЩИЙ может быть атрибут НОМЕР_СЛУЖАЩЕГО, тогда как атрибуты ФАМИЛИЯ_СЛУЖАЩЕГО и ДАТА_РОЖДЕНИЯ будут другими атрибутами.

В IDEF1-модели каждый атрибут принадлежит только одной сущности, а каждый экземпляр сущности должен содержать значения каждого атрибута, ассоциированного с этой сущностью, т.е. атрибут должен быть использован каждым элементом множества предметов, представляемого сущностью. Например, атрибут МЕСЯЧНЫЙ_ОКЛАД применим к некоторым экземплярам сущности СЛУЖАЩИЙ, но, возможно, не ко всем. Поэтому для установления принадлежности атрибута МЕСЯЧНЫИ-ОКЛАД может быть определена отдельная, но родственная сущность, называемая ШТАТНЫЙ_СЛУЖАЩИЙ. Поскольку реальный штатный служащий будет экземпляром сущностей СЛУЖАЩИЙ и ШТАТНЫЙ_СЛУЖАЩИИ, общие для всех служащих атрибуты, такие как ФАМИЛИЯ_СЛУЖАЩЕГО и ДАТА_РОЖДЕНИЯ, не обязаны быть, атрибутами сущности ШТАТНЫЙ_СЛУЖАЩИЙ.

В дополнение к "собственным" атрибутам сущности, являющимся основными характеристиками представляемых сущностью предметов, атрибут может "наследоваться" сущностью через специфическое отношение или отношение категоризации, в котором сущность является сущностью-потомком (см. раздел 3.7). Например, если каждый служащий приписан к какому-нибудь отделу, то атрибут НОМЕР_ОТАЕЛА может быть атрибутом сущности СЛУЖАЩИЙ, наследуемым через отношение сущности СЛУЖАЩИЙ к сущности ОТДЕЛ. Сущность ОТДЕЛ будет собственником атрибута НОМЕР_ОТДЕЛА. Через отношение могут наследоваться только атрибуты первичных ключей. Например, атрибут НАЗВАНИЕ_ОТДЕЛА не может быть наследуемым атрибутом сущности СЛУЖАЩИЙ, если этот атрибут не является частью первичного ключа для сущности ОТДЕЛ.

Синтаксис атрибутов

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

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

Рис. 3-7. Синтаксис атрибутов и первичных ключей

Правила атрибутов

  1. Каждый атрибут должен иметь уникальное имя, а одному и тому же имени должно соответствовать одно и то же значение. Кроме того, одно и то же значение не может соответствовать различным именам, если только имена не являются псевдонимами.
  2. Сущность может обладать любым количеством атрибутов. Каждый атрибут принадлежит в точности одной сущности.
  3. Сущность может обладать любым количеством наследуемых атрибутов, но наследуемый атрибут должен быть частью первичного ключа соответствующей сущности-родителя или общей сущности.
  4. Каждый экземпляр сущности должен иметь значение для каждого атрибута (правило необращения в ноль).
  5. Ни один из экземпляров сущности не может обладать более чем одним значением для связанного с сущностью атрибута (правилом неповторяемости).

<На страницу назад | На страницу вперед >