Диаграммы сущность-связь
Базовыми понятиями ER-модели данных (ER – Entity-Relationship) являются: сущность, атрибут и связь.
Поскольку нотация Баркера является наиболее распространенной, в дальнейшем будем придерживаться именно ее.
6.1. Основные понятия ER-диаграмм
Сущность – это класс однотипных объектов, информация о которых должна быть учтена в модели. Сущность имеет наименование, выраженное существительным в единственном числе и обозначается в виде прямоугольника с наименованием (рис 14, а). Примерами сущностей могут быть такие классы объектов как «Студент», «Сотрудник», «Товар».
Экземпляр сущности– это конкретный представитель данной сущности. Например, конкретный представитель сущности «Студент» – «Максимов». Причем сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности, для того чтобы различать экземпляры.
Атрибут сущности – это именованная характеристика, являющаяся некоторым свойством сущности. Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с описательными оборотами или прилагательными). Примерами атрибутов сущности «Студент» могут быть такие атрибуты как «Номер зачетной книжки», «Фамилия», «Имя», «Пол», «Возраст», «Средний балл» и т.п. Атрибуты изображаются в прямоугольнике, обозначающем сущность (рис. 14, б).
Ключ сущности – это неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности. При удалении любого атрибута из ключа нарушается его уникальность. Ключей у сущности может быть несколько. На диаграмме ключевые атрибуты отображаются подчеркиванием (рис. 14, в).
Связь – это отношение одной сущности к другой или к самой себе. Возможно по одной сущности находить другие, связанные с ней. Например, связи между сущностями могут выражаться следующими фразами – «СОТРУДНИК может иметь несколько ДЕТЕЙ», «СОТРУДНИК обязан числиться точно в одном ОТДЕЛЕ». Графически связь изображается линией, соединяющей две сущности (рис. 15):
а | б | в |
Рис. 14. Обозначения сущности в нотации Баркера:
а - без атрибутов; б -с указанием атрибутов; в -с ключевым атрибутом
Каждая связь имеет одно или два наименования. Наименование обычно выражается неопределенной формой глагола: «Продавать», «Быть проданным» и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности.
Рис. 15. Пример связи между сущностями
Связь может иметь один из следующих типов:
Рис. 16. Типы связей
Связь типа один-к-одному означает, что один экземпляр первой сущности связан точно с одним экземпляром второй сущности. Такая связь чаще всего свидетельствует о том, что мы неправильно разделили одну сущность, на две.
Связь типа один-ко-многим означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности. Это наиболее часто используемый тип связи. Пример такой связи приведен на рис. 15.
Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и наоборот. Этот тип связи является временным, допустимым на ранних этапах разработки модели. В дальнейшем такую связь необходимо заменить двумя связями типа один-ко-многим путем создания промежуточной сущности.
Каждая связь может иметь одну из двух модальностей связи:
Рис. 17. Модальности связей
Связь может иметь разную модальность с разных концов как на рис. 17. Каждая связь может быть прочитана как слева направо, так и справа налево. Связь на рис. 15 читается так:
Слева направо: «Сотрудник может иметь несколько детей».
Справа налево: «Ребенок должен принадлежать точно одному сотруднику».
Пример разработки простой ER-диаграммы приведен на рис.18.
Рис. 18. Пример ER-диаграммы базы данных сведений о студентах
Порядок выполнения работы:
1. На основе технического задания из лабораторной работы № 1 выполнить анализ функциональных и эксплуатационных требований к программному продукту.
2. Оформить пояснительную записку к эскизному проекту в соответствии с ГОСТ 2.119-73 Эскизный проект (см. приложение 4).