Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая-idef1x.docx
Скачиваний:
8
Добавлен:
25.09.2019
Размер:
71.46 Кб
Скачать

Отношения категоризации

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

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

Сущности-категории, связанные с одной общей сущностью, всегда являются взаимоисключающими. То есть экземпляр общей сущности может соответствовать экземпляру только одной сущности-категории. Из этого следует, что служащий не может быть одновременно и штатным, и почасовиком. IDEF1X-синтаксис допускает, однако, существование неполного множества категорий. Если существует экземпляр общей сущности, не связанный ни с каким экземпляром из сущностей-категорий, то такое отношение называется отношением неполной категоризации.

Значение некоторого атрибута в экземпляре общей сущности определяет, с какими из возможных сущностей-категорий он связан. Этот атрибут называется дискриминатором отношения категоризации. В предыдущем примере дискриминатором может быть ТИП_СЛУЖАЩЕГО.

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

Рис. 5. Синтаксис отношения категоризации

Если круг подчеркнут дважды, это указывает на полноту множества сущностей-категорий. Если круг подчеркнут один раз, это указывает на неполноту множества категорий.

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

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

Правила отношений категоризации:

  1. Сущность-категория может иметь только одну общую сущность. Это означает, что для каждого отношения категоризации может быть только один элемент из множества категорий.

  2. Сущность-категория, принадлежащая одному отношению категоризации, может быть общей сущностью в другом отношении категоризации.

  3. Сущность может быть общей сущностью в любом количестве отношений категоризации. (Например, сущности СЛУЖАЩИЙ_ЖЕНЩИНА и СЛУЖАЩИЙ_МУЖЧИНА могут быть другим множеством категорий для общей сущности СЛУЖАЩИЙ).

  4. Сущность-категория не может быть сущностью-потомком в идентифицирующем отношении.

  5. Атрибуты первичного ключа сущности-категории должны совпадать с атрибутами первичного ключа общей сущности.

  6. Все экземпляры сущности-категории имеют одно и то же значение дескриминатора и все экземпляры других категорий должны иметь другие значения дескриминаторов.