При подробном рассмотрении взаимоотношений между сущностями предметной области можно увидеть, что они обладают разными свойствами в отношениях друг с другом. Это является причиной деления сущностей на типы. Единая, устоявшаяся точка зрения на классификацию типов сущностей в настоящее время еще не сложилась. Как правило, принято выделять следующие типы сущностей.
Независимая сущность – сущность, существование которой не зависит от существования других сущностей. Она не нуждается в дополнительной информации, взятой из другой сущности, для идентификации уникального экземпляра. Поэтому первичный ключ независимой сущности не включает в себя первичных ключей других сущностей.
Пример 4: предметная область - учебный процесс. Каждый студент характеризуется успеваемостью – множеством оценок, полученных в сессию. Сущность ОЦЕНКА является зависимой, поскольку для своей идентификации она требует ссылки на студента, которому она поставлена. Поэтому в состав ее первичного ключа должен входить первичный ключ сущности СТУДЕНТ.
Независимые сущности могут иметь внешние ключи, то есть ссылаться на другие сущности. Если независимая сущность не имеет внешних ключей (то есть никак не связана с другими сущностями), то она называется стержневой сущностью или стержнем. На ЯИМ стержневая сущность записывается следующим образом:
НАЗВАНИЕ СУЩНОСТИ (атрибут1, атрибут2, ….),
где среди атрибутов нет внешних ключей, а ключевые атрибуты подчеркиваются. На ER-диаграммах стержневые сущности изображаются прямоугольниками.
Если независимая сущность имеет внешние ключи (то есть связана с другими сущностями), то она называется обозначающей сущностью или обозначением. Связь с обозначаемой сущностью может быть типа «один-к-одному» или «многие-к-одному». Обозначающая сущность описывается следующим образом:
ОБОЗНАЧЕНИЕ (атрибут1, атрибут2,..)[СПИСОК ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ],
где среди атрибутов есть внешние ключи. На ER-диаграммах обозначающие сущности изображаются параллелограммами.
Пример 5: предметная область – распределение сотрудников по отделам.
ОТДЕЛ (Номер отдела, Название отдела, …)
СОТРУДНИК (Табельный номер, Фамилия, …, Номер отдела) [ОТДЕЛ].
Здесь сущность СОТРУДНИК является обозначением сущности ОТДЕЛ благодаря наличию внешнего ключа Номер отдела; при этом сущность СОТРУДНИК сохраняет независимое существование: если этот атрибут не заполнен, то это означает, что сотрудник не зачислен ни в какой отдел.
Характеристическая сущность или характеристика – это зависимая сущность, существование которой полностью зависит от характеризуемой сущности, с которой она связана связью «один-к-одному» или «многие-к-одному». Характеристическая сущность описывается следующим образом:
при этом первичный ключ характеризуемой сущности входит в состав первичного ключа характеристики или является его обязательным внешним ключом. В предыдущем примере сотрудник мог быть в составе отдела, а мог иметь независимое существование, поэтому соответствующая сущность определялась как обозначение. Но в каком-либо учреждении сотрудник обязательно должен входить в состав какого-либо отдела, то это изменит статус сущности СОТРУДНИК на характеристику ОТДЕЛа.
Пример 6: предметная область – успеваемость студентов.
Здесь первичный ключ Номер зачетки характеризуемой сущности СТУДЕНТ входит в состав первичного ключа характеристики УСПЕВАЕМОСТЬ. Незаполненное значение этого атрибута недопустимо, так как в таком случае становится неопределенным, успеваемость какого студента характеризует данная строка, то есть понятие успеваемости теряет смысл.
На ER-диаграммах характеристические сущности изображаются трапециями.
Ассоциативная сущность или ассоциация – это связь вида «многие-ко-многим» между двумя и более сущностями. Часто вводятся в модель для разбиения связи «многие-ко-многим» на две связи «один-ко-многим». При этом рассматриваются как полноправные сущности. Это означает, что ассоциации могут участвовать в других ассоциациях и обозначениях как стержневые сущности, они могут иметь атрибуты и т.д. Характеристическая сущность может рассматриваться как частный случай ассоциации. Описываются ассоциации следующим образом:
где S1, S2 и т.д. – степень связи с указанной сущностью. На ER-диаграммах ассоциации изображаются с помощью шестиугольников.
Пример 7: формальное описание ИЛМ: предметная область – учебный процесс в вузе (вариант). Модель должна отражать факт существования студентов, учебных групп, преподавателей и занятий по расписанию. Модель также должна отражать успеваемость студентов по результатам предыдущей сессии.
Выделим в предметной области стержневые сущности. Это ГРУППА и ПРЕПОДАВАТЕЛЬ:
Наконец, сущность ЗАНЯТИЕ является ассоциацией сущностей ГРУППА и ПРЕПОДАВАТЕЛЬ; кроме этого она имеет собственные атрибуты – дисциплину, время и место проведения:
ЗАНЯТИЕ [ГРУППА М, ПРЕПОДАВАТЕЛЬ N ] (Шифр группы, Фамилия преподавателя, Дисциплина, Неделя, День, Пара, Аудитория ).
ER-диаграмма предметной области имеет вид (рис.1):
Теперь введем в модель новую сущность – ДИСЦИПЛИНА. Для простоты будем считать, что она имеет единственную характеристику – Наименование и предназначена для кодирования длинных текстовых наименований дисциплин. Во всех прочих сущностях заменим наименование кодом дисциплины и установим связи с новой сущностью. Это небольшое изменение изменит статус сущности УСПЕВАЕМОСТЬ – она превратится в ассоциацию; сущность ЗАНЯТИЕ из ассоциации двух сущностей станет ассоциацией трех сущностей: