Связи определяют, является ли сущность независимой или зависимой. Зависимые сущности:
Характеристическая - зависимая дочерняя сущность, которая связана только с одной родительской и по смыслу хранит информацию о характеристиках родительской сущности.
Пример. Сущность Сотрудник имеет характеристику – Увлечения.
Ассоциативная - сущность, связанная с несколькими родительскими сущностями. Такая сущность содержит информацию о связях сущностей.
Пример. Таблица связи "Товар-Клиент" на рис 6.17. при дополнении ее атрибутами, например, Количество и Дата_Заказа.
Именующая - частный случай ассоциативной сущности, не имеющей собственных атрибутов (только атрибуты родительских сущностей, мигрирующих в качестве внешнего ключа)
Пример. Таблица связи "Товар-Клиент" на рис 6.17 только с внешними ключами.
Категориальная - дочерняя сущность в иерархии наследования.
Иерархии наследования (или иерархия категорий) - представляет собой особый тип объединения сущностей, которые разделяют общие характеристики. Например, в организации работают служащие, занятые полный рабочий день (постоянные служащие) и совместители. Из их общих свойств можно сформировать обобщенную сущность Сотрудник, чтобы представить информацию, общую для всех типов служащих. Специфическая для каждого типа информация может располагаться в категориальных сущностях (потомках) Постоянный сотрудник и Совместитель.
|
|
В полной категории каждому экземпляру родового предка обязательно соответствует экземпляр в каком-либо потомке, т.е. каждый служащий обязательно является либо совместителем, либо консультантом, либо постоянным сотрудником.
В IDEF1X выделяют два типа иерархии категории (наследования): полная и неполная.
Полная категория означает, что отображены все возможные варианты сущностей-потомков.
Неполная категория означает, что категория еще не достроена полностью, и предполагается наличие других сущностей-потомков. Тогда в родовом предке могут существовать экземпляры, которые не имеют соответствующих экземпляров в потомках. Такая категория будет неполной.
Возможна также комбинация полной и неполной категорий.
Создание категориальной связи:
- установить курсор на кнопке категории в палитре инструментов выбрать категорию левой кнопкой мыши;
- щелкнуть сначала по родовому предку, потом - по потомку;
- для установления второй связи в иерархии категорий сначала щелкнуть по символу категории, потом по второму потомку.
Редактирование категории - щелкнуть правой кнопкой мыши по символу категории. В контекстном меню - пункт Subtype Relationship Editor. Указать дискриминатор категории (Discriminator Attribute Choice) (например - атрибут Тип в родовом предке) и тип категории - полная/неполная (Complete/Incomplete).
|
|
Стадии построения иерархии наследования:
а) Определение сущностей с общими (по определению) атрибутами
Пример 1: Постоянный сотрудник и Совместитель
Пример 2: Транзисторы низкочастотные, транзисторы высокочастотные
б) Перенос общих атрибутов в сущность - родовой предок
Пример 1: Постоянный сотрудник и Совместитель - > Сотрудник
Пример 2: Транзисторы низкочастотные, транзисторы высокочастотные -> транзистор
в) Создание неполной структуры категорий
Создается категориальная связь от новой сущности - родового предка - к старым сущностям - потомкам. Новая сущность дополняется атрибутом-дискриминатором категории – тип.
г) Создание полной структуры категорий
Производится дополнительный поиск сущностей, имеющих общие по смыслу атрибуты с родовым предком. Общие атрибуты переносятся в родового предка и категория преобразуется в полную. Некоторые не общие атрибуты могут быть перенесены в сущность-потомка.
Пример 1: консультант
Пример 2: транзисторы сверхвысокочастотные.
д) Комбинация полной и неполной структур категорий
При необходимости создание иерархии категорий можно продолжить.