Свойства, которыми описывается сущность, принято называть атрибутами сущности.
Итак, мы выделили сущность «Врач» с атрибутами «Имя», «Специальность», «Категория» и «Стаж». А Иван Иванович и Анастасия Павловна являются экземплярами сущности «Врач», для которых атрибуты принимают уже конкретные значения.
Графически обычно сущность изображают в прямоугольнике, а атрибуты – в эллипсах, которые соединены с прямоугольником линиями.
Рис.1 Сущность «Врач»
Самое трудное в проектировании увидеть эти самые сущности. Давайте продолжим тренироваться на примере поликлиники. С врачами разобрались. А «Пациент» – это сущность? Как это выяснить? Очень просто. Задаем два вопроса и отвечаем на них:
– Реальных пациентов в поликлинике много или один? – Много. Следовательно, «пациенты» являются группой объектов.
– Разные пациенты описываются одинаковыми свойствами? – Да. У всех пациентов есть «Фамилия», «Дата рождения», «Адрес».
Следовательно, понятие «Пациент» полностью соответствует определению сущности.
Рис.2 Сущность «Пациент»
А является ли сущностью «Регистратура»? Снова задаем вопрос:
– Реальных регистратур в поликлинике много или одна? – Одна. Следовательно, «Регистратура» не является сущностью, потому что нет группы объектов. Второй вопрос можно уже не задавать.
А чем же тогда является «Регистратура»? Ведь такой объект в поликлинике есть, значит, он должен как-то отражаться в базе данных. Регистратура – это экземпляр сущности «Подразделение». Проверим эту гипотезу:
– Подразделений в поликлинике много? – Много. И регистратура – одно из них. А есть еще «Администрация», «Терапия», «Дневной стационар» и др. Следовательно, мы имеем группу объектов.