Любой фрагмент предметной области может быть представлен как множество сущностей, между которыми существует некоторое множество связей. Дадим определения:
Сущность - это объект, который может быть идентифицирован неким способом, отличающим его от других объектов. Сущность имеет множество поименованных свойств (атрибутов) и существует во множестве экземпляров.
Например, выделим несколько сущностей в предметной области Предприятие: Подразделения (атрибуты название, руководитель), Сотрудники (атрибуты личный код, ФИО), Дети сотрудников (атрибуты имя, дата рождения), Проекты с участием сотрудников (атрибут Название).
В нотации П.Чена сущность обозначается прямоугольником, а атрибуты – овалом (рис.3.2).
Рис. 3.2 – обозначения для сущностей и атрибутов
Связь - это ассоциация, установленная между двумя или несколькими сущностями. Особенно часто встречаются бинарные связи, т.е. связи между двумя сущностями.
Роль сущности в связи - функция, которую выполняет сущность в данной связи. Обычно роль обозначается глаголом. Например, в связи Сотрудники-Дети сущности сотрудники исполняют роль «является родителем», а дети – «является ребенком». Указание ролей в модели «сущность-связь» не является обязательным и служит для уточнения семантики связи.
Роль сущности в связи в нотации Чена изображается в виде ромба на линии связи. Число экземпляров сущностей, которое может быть ассоциировано через набор связей с экземплярами другой сущности, называют мощностью связи.
Могут существовать следующие мощности бинарных связей.
Связь один к одному (обозначается 1 : 1 )
Это означает, что в такой связи каждому экземпляру одной сущности всегда соответствует не более одного экземпляра связанной сущности. Так, для сущностей Подразделения и Сотрудники это связь «руководит», поскольку в каждом подразделении может быть только один начальник, а сотрудник может руководить только одним подразделением. Данный факт представлен на следующем рисунке, где прямоугольники обозначают сущности, а ромб - связь. Так как степень связи для каждой сущности равна 1, то они соединяются одной линией (Рис.3.3).
Рис. 3.3 – связь один к одному между сущностями
Поясним смысл специальных обозначений (вертикальная линия и овал) на линии связи. Они характеризуют класс принадлежности входящих в связь сущностей. Так как в каждом подразделении обязательно должен быть руководитель, то каждому экземпляру сущности Подразделения непременно должен соответствовать экземпляр сущности Сотрудники. Однако, не каждый сотрудник является руководителем отдела, следовательно в данной связи не каждый экземпляр сущности Сотрудники имеет связанный экземпляр сущности Подразделения.
Таким образом, сущность Сотрудники имеет обязательный класс принадлежности (этот факт обозначается вертикальной линией), а сущность Подразделения имеет необязательный класс принадлежности (обозначается овалом).
Связь один ко многим ( 1 : М )
В данном случае экземпляру сущности может соответствовать любое число экземпляров другой сущности. Такова связь Подразделения – Сотрудники, при условии, что каждый сотрудник может работать только в одном подразделении (на рис. 3.4 показаны две различных связи между Сотрудниками и Подразделениями).
Рис. 3.4 - Связи между сущностями Сотрудники и Подразделения
Данный рисунок дополнительно иллюстрирует тот факт, что между двумя сущностями может быть определено несколько связей. Здесь также необходимо учитывать класс принадлежности сущностей. Каждый сотрудник должен работать в каком-либо отделе, но не каждый отдел (например, вновь сформированный) должен включать хотя бы одного сотрудника. Поэтому сущность Подразделения имеет обязательный, а сущность Сотрудники необязательный классы принадлежности.
Связь много к одному (М : 1 ) Эта связь аналогична отображению 1 :М.
Связь многие ко многим ( М :М ) В этом случае каждая из связанных сущностей может быть представлена любым количеством экземпляров. Пусть сотрудники на рассматриваемом нами предприятии в процессе своей трудовой деятельности участвуют в различных проектах. Поскольку каждый сотрудник может участвовать в нескольких (в том числе и ни в одном) проектах, а каждый проект может выполняться сразу целой группой сотрудников, то связь между сущностями Сотрудники и Проекты имеет степень М : М (рис.3.5).
Рис.3.5 – связь М:М между Сотрудниками и Проектами
В заключение приведем небольшой фрагмент диаграммы «сущность - связь» для проанализированных сущностей предметной области Предприятие в нотации П.Чена (с дополнениями Мартина). Он соответствует рассмотренным выше бизнес-правилам предприятия.
Рис.3.6 – фрагмент диаграммы «сущность - связь»
Безусловно, реальная подсистема учета персонала предприятия требует анализа еще очень многих сущностей и связей.