Диаграммы сущность-связь

Базовыми понятиями ER-модели данных (ER – Entity-Relationship) являются: сущность, атрибут и связь.

Поскольку нотация Баркера является наиболее распространенной, в дальнейшем будем придерживаться именно ее.

6.1. Основные понятия ER-диаграмм

Сущность – это класс однотипных объектов, информация о которых должна быть учтена в модели. Сущность имеет наименование, выраженное существительным в единственном числе и обозначается в виде прямоугольника с наименованием (рис 19, а). Примерами сущностей могут быть такие классы объектов как «Студент», «Сотрудник», «Товар».

Экземпляр сущности– это конкретный представитель данной сущности. Например, конкретный представитель сущности «Студент» – «Максимов». Причем сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности, для того чтобы различать экземпляры.

Атрибут сущности – это именованная характеристика, являющаяся некоторым свойством сущности. Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с описательными оборотами или прилагательными). Примерами атрибутов сущности «Студент» могут быть такие атрибуты как «Номер зачетной книжки», «Фамилия», «Имя», «Пол», «Возраст», «Средний балл» и т.п. Атрибуты изображаются в прямоугольнике, обозначающем сущность (рис. 19, б).

Ключ сущности – это неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности. При удалении любого атрибута из ключа нарушается его уникальность. Ключей у сущности может быть несколько. На диаграмме ключевые атрибуты отображаются подчеркиванием (рис. 19, в).

Связь – это отношение одной сущности к другой или к самой себе. Возможно по одной сущности находить другие, связанные с ней. Например, связи между сущностями могут выражаться следующими фразами – «СОТРУДНИК может иметь несколько ДЕТЕЙ», «СОТРУДНИК обязан числиться точно в одном ОТДЕЛЕ». Графически связь изображается линией, соединяющей две сущности (рис. 20):

  а б в

Рис. 19. Обозначения сущности в нотации Баркера:

а - без атрибутов; б -с указанием атрибутов; в -с ключевым атрибутом

Каждая связь имеет одно или два наименования. Наименование обычно выражается неопределенной формой глагола: «Продавать», «Быть проданным» и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности.

Рис. 20. Пример связи между сущностями

Связь может иметь один из следующих типов:

Рис. 21. Типы связей

Связь типа один-к-одному означает, что один экземпляр первой сущности связан точно с одним экземпляром второй сущности. Такая связь чаще всего свидетельствует о том, что мы неправильно разделили одну сущность, на две.

Связь типа один-ко-многим означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности. Это наиболее часто используемый тип связи. Пример такой связи приведен на рис. 20.

Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и наоборот. Этот тип связи является временным, допустимым на ранних этапах разработки модели. В дальнейшем такую связь необходимо заменить двумя связями типа один-ко-многим путем создания промежуточной сущности.

Каждая связь может иметь одну из двух модальностей связи:

Рис. 22. Модальности связей

Связь может иметь разную модальность с разных концов как на рис. 22. Каждая связь может быть прочитана как слева направо, так и справа налево. Связь на рис. 20 читается так:

Слева направо: «Сотрудник может иметь несколько детей».

Справа налево: «Ребенок должен принадлежать точно одному сотруднику».

Факультет
Кафедра
Курс
Группа
Студент

Пример разработки простой ER-диаграммы приведен на рис.23.

Рис. 23. Пример ER-диаграммы базы данных сведений о студентах

Порядок выполнения работы:

1. На основе технического задания из лабораторной работы № 1 выполнить анализ функциональных и эксплуатационных требований к программному продукту.

2. Определить функциональные диаграммы (верхнего уровня и детализирующие).

3. Определить диаграммы переходов состояний.

4. Определить диаграммы потоков данных для решаемой задачи (контекстную и детализирующую)..

5. Определить диаграммы «сущность-связь», если в задании присутствует база данных. Разработать укрупненную схему алгоритма, псевдокод, Flow-диаграмму (по выбору) программного модуля.

6. Добавить словарь терминов (2-3 шт.).

Отчет по лабораторной работе должен включать в себя:

1. Постановку задачи.

2. Пояснительную записку к проекту:

· все полученные диаграммы;

· спецификации процессов;

· словарь.