- •Методические указания
- •Работа с пакетом Design/idef
- •2.Создание idef1x-моделей Введение
- •Семантика и синтаксис idef1x
- •Сущности
- •1.2. Отношения связи Семантика отношений связи
- •1.3. Отношения категоризации
- •1.4. Неспецифические отношения
- •1.5. Атрибуты
- •1.6. Первичные и альтернативные ключи
- •1.7. Внешние ключи
- •1.8. Пример idef1x-модели
- •2. Работа с пакетом Design/idef
1.5. Атрибуты
Семантика атрибутов. Атрибут представляет тип характеристик или свойств, ассоциированных со множеством реальных или абстрактных объектов. Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута.
Сущность должна обладать атрибутом или комбинацией атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Эти атрибуты образуют первичный ключ сущности. Например, первичным ключом сущности СЛУЖАЩИЙ (рис.3) является атрибут ТАБЕЛЬНЫЙ_НОМЕР, тогда как атрибуты ФАМИЛИЯ, ТЕЛЕФОН и т.д. будут другими (неключевыми) атрибутами.
В дополнение к «собственным» атрибутам сущности, атрибут может «наследоваться» сущностью через специфическое отношение или отношение категоризации, в котором сущность является сущностью-потомком. Например, если каждый служащий приписан к какому-нибудь отделу, то атрибут НОМЕР_ОТДЕЛА может быть атрибутом сущности СЛУЖАЩИЙ, наследуемым через отношение сущности СЛУЖАЩИЙ к сущности ОТДЕЛ.
Синтаксис атрибутов. Каждый атрибут идентифицируется уникальным именем, выражаемым грамматическим оборотом существительного. Существительное должно быть в единственном числе. Каждый атрибут внутри блока сущности занимает одну строку. Атрибуты, определяющие первичный ключ, размещаются наверху списка и отделяются горизонтальной чертой.
1.6. Первичные и альтернативные ключи
Семантика первичных и альтернативных ключей. Возможный ключ сущности – это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Например, ТАБЕЛЬНЫЙ_НОМЕР однозначно определяет экземпляр сущности СЛУЖАЩИЙ (рис.5).
Каждая сущность должна обладать хотя бы одним возможным ключом. В некоторых случаях сущность может иметь более одного атрибута, однозначно идентифицирующих экземпляры сущности.
При существовании нескольких возможных ключей один из них выбирается в качестве первичного ключа, а остальные – как альтернативные ключи.
Синтаксис первичных и альтернативных ключей. Определяющие первичный ключ атрибуты размещаются наверху списка атрибутов в блоке сущности и отделяются от других атрибутов горизонтальной чертой (рис.5 ).
Каждому альтернативному ключу присваивается уникальный целый номер. Этот ключ указывается с помощью размещения справа от каждого атрибута ключа заключенных в скобки букв АК с номером альтернативного ключа. Отдельный атрибут может входить в качестве компоненты в более чем один альтернативный ключ.
Рис.5
1.7. Внешние ключи
Семантика внешних ключей. Если между двумя сущностями имеется специфическое отношение связи или категоризации, то атрибуты, входящие в первичный ключ родительской или общей сущности, наследуются в качестве атрибутов сущностью-потомком или категорной сущностью соответственно. Эти наследуемые атрибуты называются внешними ключами. Например, на рис.3 сущности ШТАТНЫЙ_СЛУЖАЩИЙ и СЛУЖАЩИЙ_ПОЧАСОВИК наследуют атрибут (внешний ключ) ТАБЕЛЬНЫЙ_НОМЕР.
Наследуемый атрибут может использоваться в сущности в качестве части или целого первичного ключа, альтернативного ключа или неключевого атрибута.
Если все атрибуты первичного ключа сущности-родителя наследуются в качестве части первичного ключа сущности-потомка, то отношение называется идентифицирующим.
Если какой-нибудь из наследуемых атрибутов не является частью первичного ключа, то отношение называется неидентифицирующим.
В некоторых случаях сущность-потомок может иметь несколько отношений с одной и той же сущностью-родителем. Первичный ключ сущности-родителя появится для каждого отношения в качестве наследуемых атрибутов в сущности-потомке. Для каждого факта наследования первичного ключа должно назначаться имя роли.
Синтаксис внешних ключей. Внешний ключ изображается с помощью помещения внутрь блока сущности-потомка имен наследуемых атрибутов, после которых следуют буквы FK в скобках (FK).
Рис.6
Если наследуемый атрибут не принадлежит первичному ключу сущности-потомка, то он изображается ниже горизонтальной линии (рис.6.а). Если наследуемый атрибут принадлежит первичному ключу сущности-потомка, то он помещается выше линии, а сущность изображается блоком с закругленными углами.
Наследуемые атрибуты могут быть также частью альтернативного ключа.