- •Новосибирский государственный университет экономики и управления
- •«Проектирование информационных систем» Раздел «Моделирование и проектирование данных»
- •Новосибирск 2009
- •1. Концепции er-модели
- •Примеры сущностей с физическим и концептуальным существованием
- •Способы представления сущностей на диаграмме
- •Представление атрибутов на диаграммах
- •1.3. Типы связей
- •Представление связей на диаграммах
- •1.4. Атрибуты связей
- •Date_View и Comments
- •2. Структурные ограничения
- •2.1. Показатель кардинальности
- •Связи «один к одному»
- •Связь „один ко многим"
- •Связи "многие ко многим"
- •2.2. Степень участия
- •3. Проблемы er-моделирования
- •3.1. Ловушки разветвления
- •3.2. Ловушки разрыва
- •4. Eer-модель
- •4.1. Суперклассы и подклассы типов сущностей
- •4.2. Наследование атрибутов
- •4.3. Специализация
- •4.4. Генерализация
- •4.5. Ограничения, накладываемые на процедуры специализации и генерализации
- •4.6. Категоризация
1.4. Атрибуты связей
Атрибуты, описанные в разделе 1.2, могут также принадлежать связям. Рассмотрим в качестве примера связь Views между сущностями Client и Property_for_Rent. Допустим, что требуется фиксировать дату просмотра объекта недвижимости клиентом, а также записывать комментарии, сделанные клиентом в ходе осмотра этой недвижимости. Данная информация скорее относится к связи Views, чем к сущности Client или Property_for_Rent. Как показано на рис. 1.11, для хранения этих сведений связи Views присваиваются атрибуты Date_View (Дата просмотра) и Comments (Комментарии).
Рис. 1.11. Пример связи Views с атрибутами
Date_View и Comments
Наличие у связи одного или нескольких атрибутов может свидетельствовать о том, что эта связь скрывает некоторую неопределенную сущность. Например, наличие атрибутов Date_View и Comments у связи Views может свидетельствовать о наличии некоторой сущности с именем Viewing (Просмотр).
2. Структурные ограничения
Рассмотрим теперь ограничения, которые могут накладываться на сущности — участницы некоторой связи. По сути, они являются отражением определенных требований реального мира. Примерами таких ограничений являются требования, чтобы объект недвижимости имел владельца и в каждом отделении компании был некоторый персонал. Основными двумя типами накладываемых на связи ограничений являются ее кардинальность(cardinality) истепень участия(participation).
2.1. Показатель кардинальности
Показатель кардинальности: описывает количество возможных связей для каждой из сущностей-участниц.
Наиболее распространенными являются бинарные связи с показателями кардинальности "один к одному" (1:1), "один ко многим" (1:М) и "многие ко многим" (M:N).
Показатели кардинальности связей между сущностями определяются прежде всего производственными правилами, установленными на данном предприятии. Правила, определяющие показатели кардинальности, называются бизнес-правилами (business rules) организации. Важной частью моделирования процессов функционирования предприятия является выделение и учет всех (без исключения) существующих в нем бизнес-правил. К сожалению, не все существующие типы бизнес-правил могут быть представлены с помощью ER-модели. Примером подобного бизнес-правила является распоряжение о том, что любой сотрудник получает дополнительный выходной день за каждый отработанный в данной корпорации год.
Связи «один к одному»
Рассмотрим бинарную связь Manages,существующую между сущностямиStaffиBranch. На рис. 2.1 эта связь представлена с помощью семантической сетевой модели (см. раздел 1.3). Обратите внимание на то, что в этом разделе для упрощения на семантических сетевых моделях показаны только некоторые из атрибутов, связанных с каждой представленной сущностью.
Рис. 2.1. Семантическая сетевая модель связи Manages между сущностями Staff и Branch
На семантической сетевой модели, представленной на рис. 2.1, отображены отдельные экземпляры связи Manages между сущностями Staff и Branch. Например, сотрудница с именем 'Susan Brand' (s1) является менеджером ('Manager') отделения компании с номером 'ВЗ' (b1), расположенным в Глазго ('Glasgow'), а сотрудник с именем 'John White' (s3) — менеджером ('Manager') отделения компании с номером 'В5' (b2), расположенным в Лондоне ('London').
Кроме того, из рис. 2.1 видно, что сотрудница с именем 'Ann Beech' (s2) не является менеджером, а потому она не охвачена связью Manages. Однако при определении показателя кардинальности некоторой связи следует учитывать только те сущности, которые охватываются данной связью. Вовлечение сущности в данную связь называется степенью участия сущности. Эта тема более подробно рассматривается в следующем разделе.
Из семантической сетевой модели связи Manages следует, что одна сущность типа Staff (менеджер) связана с единственной сущностью типа Branch (Отделение компании), Поэтому связь Manages является связью типа "один к одному" (1:1). Иначе говоря, показатель кардинальности связи Manages равен 1:1. Кардинальность этой связи подтверждается бизнес-правилом, которое его представляет.
ER-диаграмма связи Manages между сущностями Staff и Branch показана на рис. 2.2. Как правило, участники каждой связи на ER-диаграмме соединяются линиями с метками 1, М или N, определяющими показатель кардинальности этой связи.
Рис. 2.2. ER-модель связи Manages между сущностями Staff и Branch