Для построения ER-модели предметной области используется CASE- средство AllFusion ERwin Data Modeler (далее ERwin). Это CASE-средство используется для проектирования и документирования БД. ERwin позволяет наглядно отображать сложные структуры данных и имеет удобный графический интерфейс. ER-модель строится в виде логической модели используемого CASE-средства.
Основными компонентами диаграммы являются сущности, атрибуты и связи. Построение модели предполагает определение того, какая информация должна отображаться в каждой сущности и в атрибутах конкретной сущности. Каждая сущность должна иметь уникальное имя, которое отражает её смысловое значение. Кроме того, для каждой сущности необходимо задать её подробное описание и особенности взаимодействия с другими сущностями.
Сущности в ERwin отображаются прямоугольниками (рис. 1.4.). Название сущности отображается над ним.
Рис. 1. 4. Пример сущности в ERwin
Сущность характеризуется своими атрибутами, для которых в ERwin необходимо определить имя, тип принимаемого значения, краткое описание, смысловые правила использования значений атрибутов. Имена заданных для сущности атрибутов отображаются внутри прямоугольника. В верхней части прямоугольника, задающего сущность, отражаются атрибуты, образующие ключ, в нижней − остальные атрибуты. Имена атрибутов должны иметь четкие смысловые значения и быть уникальными в рамках свей модели, а не только описываемой сущности.
В ERwin можно определить следующие типы данных для атрибутов:
Integer −целый,
Real − вещественный,
Date − дата,
Varchar − строка символов,
Money − денежный.
В ERwin между сущностями можно установить связи нескольких типов. В CASE-средстве различают несколько типов связей:
· идентифицирующую связь "один-ко-многим",
· связь "многие-ко-многим",
· неидентифицирующую связь "один-ко-многим",
· категориальную связь, которая связывает сущности отношением типа тип-подтип.
В зависимости от используемых связей между сущностями в AllFusion ERwin Data Modeler различают зависимые и независимые сущности. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. При использовании идентифицирующей связи дочерняя сущность автоматически преобразуется в зависимую, которая изображается прямоугольником со скругленными углами. Экземпляр зависимой сущности определяется только через отношение к родительской сущности, т.е. он не может существовать, если для него нет экземпляра родительской сущности. При установлении идентифицирующей связи атрибутыпервичного ключародительской сущности автоматически переносятся в состав первичного ключадочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ − FK.
Для каждой связи задается мощность и имя связи. Имя связи − это фраза, характеризующая отношение между родительской и дочерней сущностями. Мощность связей служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней. Мощность задается одним из четырех типов:
· общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности; такая связь не помечается каким-либо символом;
· символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);
· символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);
· цифрой помечается случай точного соответствия, когда одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности.
Различают несколько видов зависимых сущностей:
· Характеристическая − связана только с одной родительской сущностью и хранит информацию о её характеристиках;
· Ассоциативная − с несколькими родительскими сущностями и отражает особенности взаимосвязи этих сущностей;
· Категориальная −отражает иерархию наследования сущностей, которая представляет собой особый тип объединения сущностей, имеющих общие характеристики.
При установлении идентифицирующих связей между сущностями в дочерней сущности автоматически создаются внешние ключи. Атрибут внешнего ключа обозначается символом (FK).