Читаем BPwin и Erwin. CASE-средства для разработки информационных систем полностью

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

Рис. 2.36. Иерархия наследования. Полная категория

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

Рис. 2.37. Иерархия наследования. Комбинация полной и неполной категорий

Для создания категориальной связи следует:

установить курсор на кнопке в палитре инструментов и нажать левую кнопку мыши;

щелкнуть сначала по родовому предку, а затем по потомку;

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

Для редактирования категорий нужно щелкнуть правой кнопкой мыши по символу категории и выбрать в контекстном меню пункт Subtype Relationship Editor. В диалоге Subtype Relationship (рис. 2.38) можно указать атрибут - дискриминатор категории (список Discriminator Attribute Choice) и тип категории - полная/неполная (радиокнопки Complete/Incomplete).

Рис. 2.38. Диалог Subtype Relationship

Рассмотрим возможные стадии построения иерархии наследования. Определение сущностей с общими (по определению) атрибутами. Предположим, в процессе проектирования созданы сущности Постоянный сотрудник и Совместитель (рис. 2.39). Можно заметить, что часть атрибутов у этих сущностей (Фамилия, Имя, Отчество, Дата рождения, Должность) имеет одинаковый смысл.

Рис. 2.39. Сущности с общими по смыслу атрибутами

Перенос общих атрибутов в сущность - родовой предок. В случае обнаружения совпадающих по смыслу атрибутов следует создать новую сущность (Сотрудник) - родовой предок и перенести в нее общие атрибуты (Фамилия, Имя, Отчество, Дата рождения. Должность).

Создание неполной структуры категорий. Создается категориальная связь от новой сущности - родового предка к старым сущностям - потомкам. Новая сущность дополняется атрибутом-дискриминатором категории (Тип) (см. рис. 2.35).

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

Рис. 2.40. Дополнительная сущность с общими по смыслу атрибутами

Общие атрибуты переносятся в родового предка и категория преобразуется в полную (признак полной категории устанавливается в диалоге Subtype Relationship). Сущность Консультант не имеет атрибута Должность, поэтому в родовом предке значение этого атрибута в случае консультанта будет NULL. В зависимости от бизнес-правил атрибут Должность может быть перенесен обратно из родового предка в сущности - потомки Постоянный сотрудник и Совместитель.

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

<p><strong>2.2.5. Ключи</strong></p>

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

Первичный ключ (primary key) - это атрибут или группа атрибутов, однозначно идентифицирующая экземпляр сущности. Атрибуты первичного ключа на диаграмме не требуют специального обозначения - это те атрибуты, которые находятся в списке атрибутов выше горизонтальной линии (см., например, рис. 2.33). При внесении нового атрибута в диалоге Attribute Editor для того, чтобы сделать его атрибутом первичного ключа, нужно включить флажок Primary Key в нижней части закладки General. На диаграмме неключевой атрибут можно внести в состав первичного ключа, воспользовавшись режимом переноса атрибутов (кнопка в палитре инструментов).

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT