Типы сущностей и иерархия наследования
Связи, устанавливаемые в ERwin, определяют, являются ли сущности зависимыми или независимыми. Различают несколько типов зависимых сущностей.
Характеристическая - зависимая дочерняя сущность, которая связана только с одной родительской.
Ассоциативная - сущность, связанная с несколькими родительскими сущностями, т.е. является связующей.
Именующая - частный случай ассоциативной сущности, не имеющей собственных атрибутов. В ней содержатся только атрибуты родительских сущностей, мигрировавшие в качестве внешнего ключа.
Категориальная - дочерняя сущность в иерархии наследования.
Иерархия наследования (или иерархия категорий) представляет собой особый тип объединения сущностей, которые имеют общие характеристики и характеристики, присущие только каждой из сущностей. Например, в организации работают служащие, занятые полный рабочий день (постоянные служащие) и совместители. Из их общих свойств можно сформировать обобщенную сущность (родовой предок) СОТРУДНИК. Специфическая для каждого типа информация может быть расположена в категориальных сущностях (потомках) ПОСТОЯННЫЙ СОТРУДНИК иСОВМЕСТИТЕЛЬ.
Для создания отношения категоризации используется специальный графический объект – дискриминатор. Он показывает, как отличить родового предка от потомков.
Категории делятся на два типа - полные и неполные. В полной категории одному экземпляру родового предка (сущность СЛУЖАЩИЙ) обязательно соответствует экземпляр в каком-либо потомке, т. е. служащий обязательно является либо совместителем, либо постоянным сотрудником.
Если категория еще не выстроена полностью и в родовом предке могут существовать экземпляры, которые не имеют соответствующих экземпляров в потомках, то такая категория будет неполной. Например, сотрудник может быть не только постоянным или совместителем, но и консультантом. Если сущность КОНСУЛЬТАНТ еще не внесена в иерархию наследования, то категория будет неполной. Возможная комбинация полной и неполной категорий.
|
Тип (неполная категория)
|
|
Пол (полная
категория)
|
|
Для создания категориальной связи надо:
-выбрать кнопку категории (Complete sub-category) на палитре инструментов;
-щелкнуть сначала по родовому предку, затем – по потомку;
-для установления следующей связи щелкнуть по кнопке категории, а затем – по второму потомку.
Для редактирования категорий нужно щелкнуть правой кнопкой мыши по символу категории и выбрать в контекстном меню пункт Subtype Relationship Editor. В диалоге Subtype Relationship можно указать атрибут - дискриминатор категории (список Discriminator Attribute Choice) и тип категории - полная/неполная (радиокнопки Complete/Incomplete).