Пример нотации er-модели – метод idef1x
Методики представления ER-моделей, используемые в разных литературных источниках, а также в разных CASE-системах, несколько отличаются друг от друга. В ряде CASE-средств (ERwin, ERStudio) реализован метод IDEF1X, входящий в семейство стандартов IDEF. Метод разработан для армии США и широко используется в государственных учреждениях, финансовых и промышленных корпорациях. Он прост в изучении и обеспечивает возможность автоматизации. Позволяет построить модель данных, эквивалентную РМД, приведенной к 3НФ.
Каждой сущности присваиваются уникальное имя и номер, разделяемые косой чертой и помещаемые над блоком (рис. 27). Первичный ключ (Primary Key) – это атрибут (атрибуты), однозначно идентифицирующий экземпляр сущности. На диаграмме первичные ключи размещаются выше горизонтальной линии.
Рис. 27. Графическое обозначение сущности в IDEF1X
В одной сущности может быть несколько потенциальных ключей (Candidate Key) – атрибутов, претендующих на роль первичного ключа.
Альтернативный ключ (Alternate Key) – потенциальный ключ, не ставший первичным. На диаграмме обозначается AK n.m, где n – номер ключа, m – номер атрибута в ключе.
Инверсионный вход (Inversion Entries) – это атрибут или группа атрибутов, которые не определяют экземпляры сущности уникальным образом, но часто используются для обращения к этим экземплярам. На диаграмме обозначается IE n.m, где n – номер инверсионного входа, m – номер атрибута во входе.
Сущность является независимой, если каждый ее экземпляр может быть однозначно идентифицирован без определения его отношений с другими сущностями.
Сущность является зависимой, если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности.
Ассоциированная (ассоциативная) сущность – сущность, связанная с двумя и более другими сущностями. Изображения независимой и зависимой сущностей показаны на рис. 28.
Рис. 28. Зависимая и независимая сущности
Каждая сущность может обладать любым количеством связей с другими сущностями модели. Одна из участвующих в связи сущностей называется родительской сущностью, другая – дочерней или сущностью-потомком.
Связи именуются глаголами или глагольными фразами, которые выражают некоторые бизнес-правила и облегчают чтение диаграмм. Связь сотрудника с заказом может быть определена следующим образом (рис. 29):
·Сотрудник выполняет один или более Заказов;
· Заказ должен выполняться ровно одним Сотрудником.
Рис. 29. Связи на диаграмме
На логическом уровне можно установить:
1) идентифицирующую связь один-ко-многим (обозначается ѕ·);
2) не идентифицирующую связь один-ко-многим (обозначается ----·);
3) связь многие-ко-многим (обозначается ·ѕ·).
При установлении идентифицирующей связи дочерняя сущность автоматически превращается в зависимую. Атрибуты первичного ключа родительской сущности автоматически мигрируют в зону атрибутов первичного ключа дочерней сущности как внешние ключи (Foreign Key) (рис. 30).
Рис. 30. Идентифицирующая связь
При установлении неидентифицирующей связи дочерняя сущность не превращается в зависимую, а ключевые атрибуты родительской сущности мигрируют в область неключевых атрибутов дочерней сущности (рис. 31).
Рис. 31. Неидентифицирующая связь
В случае обязательной связи при генерации схемы БД атрибут внешнего ключа получит признак NOT NULL, хотя внешний ключ не войдет в состав первичного ключа дочерней сущности. В случае необязательной связи внешний ключ может принимать значение Null. Необязательная неидентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности.
Мощность связи обозначает отношение числа экземпляров родительской сущности к числу экземпляров дочерней сущности. Различают случаи (рис. 32):
1) когда одному экземпляру родительской сущности соответствует 0, 1 или много экземпляров дочерней сущности (общий случай);
2) когда одному экземпляру родительской сущности соответствует 0 или 1 экземпляр дочерней сущности (исключены множественные значения);
3) когда одному экземпляру родительской сущности соответствует один или много экземпляров дочерней сущности (исключено нулевое значение);
4) когда одному экземпляру родительской сущности соответствует заданное число экземпляров дочерней сущности (например, 5).
Рис. 32. Мощность связи
Иерархия наследования – особый тип объединения сущностей, имеющих общие характеристики. Например, из общих свойств постоянных сотрудников и совместителей можно сформировать обобщенную сущность (предок) СОТРУДНИК. Специфическая информация может быть расположена в категориальных сущностях (потомках) ПОСТОЯННЫЙ СОТРУДНИК и СОВМЕСТИТЕЛЬ (рис. 33).
Рис. 33. Иерархия наследования
Дискриминатор – атрибут родового предка, который показывает, как отличить одну категориальную сущность от другой. В нашем примере – это тип.
Категория является неполной, если в родовом предке могут существовать экземпляры, не имеющие экземпляров в потомках. Например, сотрудник может быть консультантом, но сущность консультант не внесена в иерархию. Возможна комбинация полной и неполной категорий (рис. 34).
Рис. 34. Комбинация полной и неполной категорий
Отношения многие-ко-многим являются неспецифическими для РБД. Они могут быть установлены в концептуальной (в CASE – логической) модели. На этапе создания даталогической (в CASE – физической) модели такие отношения потребуют разрешения. CASE-средства автоматически преобразуют отношения в специфические с введением новых (ассоциативных) сущностей.
Неспецифическое отношение на рис. 35 указывает, что Студент может изучать много Предметов, а Предмет может изучаться многими Студентами. Мы не можем определить, какой студент изучает какой предмет, пока не введем третью (ассоциативную) сущность Изучение предмета. Каждый экземпляр введенной сущности связан с одним студентом и с одним предметом (рис. 36).
Рис. 35. Отношение многие-ко-многим
Рис. 36. Разрешение отношения многие-ко-многим
Дата добавления: 2017-10-04; просмотров: 2503;