Авторство в создании модели «сущность-связь» (entity-relationship) принадлежит англичанину Питеру Чену (Pitter Chen), работа которого была опубликована в 1976 году. Суть идеи заключается в создании такой модели пользовательского восприятия данных, которая без особого труда трансформировалась бы в физическую модель данных. Основное достоинство ER-мо-дели в том, что создатель модели «сущность-связь» может даже не подозревать о существовании ряда технических аспектов, возникающих при проектировании баз данных. Благодаря этому процесс проектирования БД максимально приблизился к обычному пользователю.
Модель «сущность-связь» опирается на три основные концепции:
1. Тип сущности.
2. Тип связи.
3. Атрибут.
Сущность - это реальный или абстрактный объект, данные о котором требуется хранить в БД. В качестве сущности можно рассматривать сотрудника предприятия, товар, изделие и т. п. Тип сущности объединяет множество однотипных объектов с одинаковыми свойствами, на-
пример сотрудников, товары, изделия. Тип сущности - это существительное, отвечающее на вопрос «кто?» или «что?». На диаграммах ER-модели тип сущности представляется в виде прямоугольника с именем типа сущности внутри. Если тип сущности не зависит от какого-либо другого типа сущности, прямоугольник рисуется одинарной линией. При наличии зависимости данного типа сущности от другого типа прямоугольник обрамляется двойным контуром.
Каждый тип сущности (и тип связи тоже) в состоянии обладать какими-то свойствами, называемыми атрибутами. На диаграммах атрибуты изображаются в виде эллипсов, соединенных с типом сущности линией. Если атрибут составной, то к нему присоединяются эллипсы с входящими в него атрибутами. Внутри эллипса указывается название атрибута. Если атрибут является первичным ключом, название подчеркивается.
Осмысленная связь между сущностями разных типов называется типом связи. Если тип сущности - существительное, то при выявлении связи между типами сущности помните, что связь обычно выражается глаголом: «сотрудник работает в офисе», «фирма расположена в городе». На диаграмму тип связи наносится в виде ромба с именем связи внутри него. С типами сущности тип связи соединяется линиями. Простейший тип связи, объединяющий два типа сущности, называется бинарной связью. Естественно, существуют связи более высоких порядков, а также рекурсивная связь (между одним и тем же типом сущности). Но, как правило, от таких типов связей стоит избавляться, т. к. они сильно усложняют структуру базы данных.
Тип связи так же, как и тип сущности, может обладать атрибутом. В этом случае атрибут также рисуется в виде эллипса и соединяется линией с соответствующим ему типом связи.
Кроме классификации типов связи по числу объединяемых ею типов сущностей связи различают по видам. К базовым видам связи относят:
а) Связь один-к-одному.
б) Связь один-ко-многим.
в) Связь многие-ко-многим.