Рассмотрим простейший пример. Предположим, проектируется БД, предназначенная для хранения информации о преподавателях и курсах, которые они читают. Двумя главными объектами, или сущностями, представляющими в данном случае интерес, являются “Преподаватель” и “курс”. Между этими сущностями существует связь ЧИТАЕТ.
сущность
связь
сущность
Рис. 7.1 Сущности и связи
Связь ЧИТАЕТ, существующая между двумя сущностями ПРЕПОДАВАТЕЛЬ и КУРС может быть графически представлена несколькими способами:
Диаграмма ЕR–экземпляров:
Рис. 7.2 Диаграмма ER-экземпляра
В этом способе каждый преподаватель характеризуется номером преподавателя (НП) и каждый курс – названием курса (НК). Здесь видно, какой в точности курс читается каждым преподавателем.
Диаграмма ER–типа:
Рис. 7.3 Диаграмма ER-типа
Сущности изображаются прямоугольниками, связи в виде ромбов, ниже каждой сущности указывают атрибут или набор атрибутов, являющийся ключом сущности.
Терминология метода “Сущность-связь”
Термины, используемые в ER–методе, не могут быть определены строго, тем не менее, их необходимо определить.
Сущность определяется как некий объект, представляющий интерес для пользователей БД. Этот объект должен иметь экземпляры, отличающиеся друг от друга и допускающие однозначную идентификацию. Признак, который может помочь в отыскании сущности состоит в том, что сущность это как правило, существительное (в инфологической модели предметной области).
Связь представляет собой взаимодействие между двумя или более сущностями. При поиске сущностей следует иметь в виду, что связь, как правило, глагол (в инфологической модели ПО).
Атрибут есть свойство сущности. Например атрибутами сущности преподавателя могут быть: номер преподавателя, фамилия, телефон, должность, адрес и т.п.
Ключ сущности – это атрибут или набор атрибутов, значения которых однозначно определяют экземпляр сущности.
Ключ связи – набор ключей сущностей, соединяемых данной связью.
На первом этапе проектирования БД ER–методом необходимы только те атрибуты сущностей, которые являются их ключами. Другие атрибуты вместе с функциональными зависимостями, в которых они участвуют, будут добавлены на более поздних этапах проектирования.