Er диаграммы — это графическое представление структуры и связей между сущностями в базе данных. Они позволяют визуализировать и организовать информацию об объектах, их атрибутах и взаимосвязях. В данной статье мы рассмотрим основные типы связей в Er диаграммах и их значения для проектирования и анализа баз данных.
В первом разделе мы рассмотрим самую простую форму связи — «один-к-одному», где каждая сущность связана только с одной другой сущностью. Затем перейдем к типу связи «один-ко-многим», который позволяет одной сущности иметь множество связанных сущностей. Далее обсудим тип связи «многие-ко-многим», который позволяет связывать множество сущностей с множеством других сущностей. В заключении рассмотрим тип связи «рекурсивная», где сущность может быть связана сама с собой.

Сущность-сущность
Связь между сущностями в ER-диаграммах может быть различной. Одним из типов связей является «сущность-сущность». Этот тип связи описывает взаимодействие между двумя сущностями, где одна сущность является основной, а другая зависит от нее.
Основная сущность
Основная сущность, или родительская сущность, является главным элементом в связи. Она определяет основную структуру и функции системы, а зависимые сущности связаны с ней и используют ее свойства и методы.
Зависимая сущность
Зависимая сущность, или дочерняя сущность, зависит от основной сущности и использует ее свойства и методы. Она расширяет функциональность основной сущности, добавляя новые атрибуты и отношения.
Пример использования
Допустим, у нас есть система управления задачами. Основной сущностью будет «Задача», которая содержит основную информацию о задаче, такую как название, описание и статус. Зависимой сущностью может быть «Комментарий», который содержит комментарии и обсуждения, связанные с задачей. Комментарии зависят от задачи и относятся только к конкретной задаче.
| Основная сущность | Зависимая сущность |
|---|---|
| Задача | Комментарий |
Здесь «Задача» является основной сущностью, а «Комментарий» — зависимой сущностью. Комментарии относятся только к конкретной задаче и не имеют смысла без задачи.
Связь «сущность-сущность» помогает описать отношение между основной и зависимой сущностями, позволяет использовать функциональность основной сущности в зависимых сущностях и добавлять новые атрибуты и отношения к зависимым сущностям.
Модуль 9. Создаем ER-диаграмму
Сущность-атрибут
Сущность-атрибут – это один из типов связей, используемых в ER-диаграммах для описания структуры базы данных. В этом типе связи сущности представляются в виде прямоугольников, а атрибуты – в виде овалов, которые находятся внутри сущности. Сущность-атрибутное отношение отражает связь между сущностью и ее атрибутами, где каждый атрибут является частью определенной сущности.
Сущность представляет объект, о котором хранится информация в базе данных. Например, в базе данных о компании сущностями могут быть сотрудники, отделы, проекты и т.д. Атрибуты сущности определяют свойства или характеристики этой сущности. Например, для сущности «сотрудник» атрибутами могут быть имя, фамилия, должность и т.д.
Пример связи «сущность-атрибут»:
| Сущность | Атрибуты |
|---|---|
| Сотрудник | Имя, Фамилия, Должность, Зарплата |
| Отдел | Название, Местоположение, Бюджет |
| Проект | Название, Описание, Дата начала, Дата окончания |
В данном примере мы имеем три сущности: «Сотрудник», «Отдел» и «Проект». Каждая сущность имеет свои атрибуты, которые определяют характеристики этой сущности.
Сущность-атрибутное отношение позволяет визуально представить структуру базы данных и определить, какие атрибуты принадлежат каждой сущности. Это помогает разработчикам и аналитикам лучше понять структуру данных и определить, какие атрибуты необходимо хранить для каждой сущности.

Сущность-связь
Сущность-связь (англ. Entity-relationship, ER) — один из основных типов диаграмм, используемых для описания структуры баз данных. ER-диаграммы представляют собой графическое представление объектов (сущностей) и связей между ними.
Сущности представляют собой концептуальные объекты или предметы реального мира, которые хранятся в базе данных и имеют собственные атрибуты. Например, в базе данных ресторана сущность «заказ» может иметь атрибуты, такие как номер заказа, дата, статус и т.д.
Связи определяют отношения между сущностями и могут быть однонаправленными или двунаправленными. Они указывают на взаимодействие между сущностями и описывают, как они связаны друг с другом. Примером связи может быть отношение «заказчик делает заказ».
Компоненты сущность-связь диаграммы
ER-диаграмма состоит из следующих компонентов:
- Сущности: представляют объекты реального мира, которые хранятся в базе данных и имеют атрибуты.
- Атрибуты: характеристики сущностей, которые описывают их свойства. Например, у сущности «заказ» может быть атрибут «дата».
- Отношения: определяют взаимодействие между сущностями и описывают, как они связаны друг с другом.
- Кардинальность: определяет количество связанных сущностей в отношении. Например, отношение «заказчик делает заказ» может иметь кардинальность «один ко многим», что означает, что один заказчик может сделать несколько заказов.
Применение ER-диаграмм
ER-диаграммы широко используются при проектировании баз данных, так как они помогают визуализировать и организовать структуру данных. Они позволяют разработчикам легко понимать связи между сущностями и создавать эффективные базы данных. ER-диаграммы также используются для создания схемы базы данных, которая может быть реализована с использованием реляционной модели данных.
Сущность-связь является важным типом диаграмм, используемых при проектировании баз данных. Они помогают визуализировать структуру данных и отношения между сущностями, что делает их полезными инструментами для разработчиков и аналитиков баз данных.
Однозначная связь
Однозначная связь в ER-диаграммах, также известная как связь «один к одному», представляет собой тип связи между двумя сущностями, где одна сущность имеет возможность быть связанной только с одной сущностью другого типа. Этот тип связи часто используется для моделирования отношений, где одна сущность является подтипом другой.
Однозначная связь отображается на ER-диаграмме с помощью линии, соединяющей две связанные сущности. Например, если у нас есть сущности «Студент» и «Адрес», связь между ними может быть однозначной, поскольку каждый студент может иметь только один адрес проживания.
Пример использования однозначной связи
Рассмотрим пример использования однозначной связи. Представим, что у нас есть две сущности: «Сотрудник» и «Департамент». Каждый сотрудник может быть назначен только в одном департаменте, а каждый департамент может иметь только одного руководителя.
На ER-диаграмме эта связь будет отображаться следующим образом:
- Сотрудник — однозначная связь — Департамент
Это означает, что каждый сотрудник имеет только одно назначение в одном департаменте, а каждый департамент имеет только одного руководителя.
Однозначная связь в ER-диаграммах представляет собой тип связи, где каждая сущность может быть связана только с одной сущностью другого типа. Этот тип связи часто используется для моделирования отношений, где одна сущность является подтипом другой.

Множественная связь
Множественная связь — это тип связи в ER-диаграммах, который позволяет установить связь между двумя сущностями, где одной сущности может соответствовать несколько экземпляров другой сущности.
Чтобы создать множественную связь, необходимо использовать кардинальность связи. Кардинальность определяет количество связанных экземпляров сущности. В множественной связи кардинальность может быть множественной для обеих сущностей или только для одной из них.
Для обозначения множественной связи используют нотацию «множественность-множественность» (M:M). Например, связь между таблицами «Студенты» и «Курсы» может быть множественной-множественной, если у одного студента может быть несколько курсов и у одного курса может быть несколько студентов.
Обозначение множественной связи в ER-диаграммах можно выполнить с помощью кардинальности. Например, для каждой студента можно указать кардинальность «0 или более», а для каждого курса — кардинальность «1 или более». Таким образом, связь между «Студентами» и «Курсами» будет множественной-множественной.
Множественная связь может быть полезна при моделировании сложных структур данных, где существует возможность множественной принадлежности. Она позволяет установить гибкую связь между сущностями и обеспечить эффективное хранение и обработку данных.
Агрегатная связь
Агрегатная связь – это связь между двумя классами, где один класс является целым, а другой – его частью. Она отображается на Er-диаграмме в виде ромба, который указывает на целый класс, и линии, которые связывают его с классом-частью.
Агрегатная связь обычно используется для представления отношения «содержит» между классами, где один класс является контейнером для другого класса. Например, у автомобиля есть двигатель, и двигатель можно представить как класс, который является частью класса автомобиля. Таким образом, мы можем использовать агрегатную связь, чтобы показать это отношение.
Агрегатная связь имеет следующие особенности:
- Когда целый объект удаляется, его части остаются в системе, но связь между ними разрушается.
- Части могут быть частью только одного целого объекта.
- Целое объект обладает большим уровнем абстракции и может быть использован самостоятельно.
- Целое объект может содержать несколько частей, а каждая часть может быть частью только одного целого объекта.
- Целое объект управляет жизненным циклом своих частей.
Более практический пример агрегатной связи может быть представлен на диаграмме организации, где класс «Организация» является целым классом, а класс «Сотрудник» – его частью. Организация может содержать множество сотрудников, и при удалении организации, сотрудники остаются в системе, но связь с организацией разрушается.
Композиция
Композиция — это один из типов связей между объектами в ER-диаграммах, которая описывает отношение “часть-целое” между двумя сущностями. Композиция представляет собой более сильную форму ассоциации, где одна сущность является составной частью другой и существует только в контексте этой целой сущности.
В композиции одна сущность называется контейнером, а другая — частью. Контейнер будет содержать одну или несколько частей, и если контейнер удалится, то и части также будут удалены.
Композиция обычно представляется на ER-диаграмме с помощью стрелки, которая указывает от контейнера к части. При этом на диаграмме может быть указано число частей, например, 1 или много.
Пример:
Допустим, у нас есть сущности “Компьютер” и “Материнская плата”. В данном случае, материнская плата является частью компьютера и не существует отдельно от него. Если мы удалим компьютер со связанной материнской платой, то и сама плата также будет удалена.

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



