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