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

Базовыми понятиями 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 Эскизный проект (см. приложение).

3. Разработать укрупненную схему алгоритма или псевдокод (по выбору) программного модуля.

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

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

6. Определить диаграммы «сущность-связь», если в задании присутствует база данных.

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

Примечание: При выполнении пп. 3 – 7 желательно использовать MS Visio.

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

9. Оформить все полученные результаты в виде приложений к эскизному проекту.

10. Сдать и защитить работу.

Защита отчета по лабораторной работе

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

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

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

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

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

· словарь.

Защита отчета по лабораторной работе заключается в предъявлении преподавателю полученных результатов (на экране монитора), демонстрации полученных навыков и ответах на вопросы преподавателя.

Контрольные вопросы

1. Этапы разработки программного обеспечения.

2. Постановка задачи и предпроектные исследования.

3. Функциональные и эксплуатационные требования к программному продукту.

4. Составляющие эскизного проекта.

5. Спецификации и модели.

6. Диаграммы потоков данных.

7. Функциональные диаграммы.

8. Диаграммы переходов состояний.

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

10. Факторы, влияющие на разработку программного обеспечения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: