
Учёт выдачи книг
Рассмотрите связи между читателями, книгами и записями о выдаче. Адаптируйте поля так, чтобы различать издание и отдельный экземпляр, который выдают читателю.
Открыть шаблон учёта книг →BOARDMIX · ER-ДИАГРАММЫ
Объедините сущности, атрибуты и связи в наглядную модель. Создайте ER-диаграмму онлайн, адаптируйте шаблон и обсудите решения по базе данных с командой.
Начните с бесплатного аккаунта. Создавайте и обсуждайте модель на общей доске.

Для интернет-магазина недостаточно списка таблиц. Этот пример показывает, кто оформляет заказ, какие товары в него входят и как связаны сущности.

Первичный ключ (PK) однозначно определяет запись. В OrderItem поля order_id и line_number используются вместе, поэтому каждая строка уникальна в пределах своего заказа.
Внешний ключ (FK) ссылается на ключ другой сущности. Здесь каждый Order относится к одному Customer, а у Customer может не быть заказов или их может быть несколько.
Один заказ может включать несколько товаров, а один товар — входить в разные заказы. OrderItem связывает эти сущности и хранит количество и цену покупки.
Эта модель допускает пустой черновик заказа. Требование добавить хотя бы одну позицию перед принятием заказа — отдельное бизнес-правило. Хранение unit_price в OrderItem также сохраняет цену покупки, даже если текущая цена товара изменится.
Возьмите знакомую предметную область и адаптируйте сущности, поля и связи под свои требования. Эти шаблоны сообщества помогут задать начальную структуру.

Рассмотрите связи между читателями, книгами и записями о выдаче. Адаптируйте поля так, чтобы различать издание и отдельный экземпляр, который выдают читателю.
Открыть шаблон учёта книг →
Упорядочьте товары, SKU и категории. На примере структуры каталога обсудите, чем варианты товара отличаются от заказов, в которые они входят.
Открыть шаблон каталога →Начните с вопроса, на который должна отвечать база данных. Добавляйте детали по мере прояснения модели.
Откройте доску или шаблон ER-диаграммы. Добавьте фигуру для каждого объекта, данные о котором нужно хранить, например Customer, Order и Product. В этом примере действия вроде «оформляет заказ» лучше использовать как подписи связей, а не как сущности.
Перечислите нужные поля каждой сущности и обозначьте её идентификатор. Явно отметьте первичные и внешние ключи. Данные конкретной покупки, например количество и цену, поместите в строку заказа.
Соедините связанные сущности. Укажите, сколько записей может участвовать с каждой стороны и обязательно ли их участие. Выберите одну нотацию и последовательно используйте её во всей диаграмме.
Поделитесь доской и проверьте модель на конкретных случаях: новый клиент без заказов, товар, купленный дважды, или изменение цены товара. Обсудите открытые вопросы в комментариях, прежде чем передавать модель разработчикам.
Держите диаграмму и обсуждение на одной доске. В Boardmix аналитики, разработчики и другие участники могут вместе разобраться, что обозначают данные.

ER-модель подходит и для обсуждения бизнес-требований, и для проверки проекта базы данных. Выбирайте детализацию в зависимости от решения, которое нужно принять.
Покажите основные сущности и связи. Согласуйте, что описывает система, прежде чем перечислять все поля.
Customer оформляет Order. Order содержит Product.
Добавьте атрибуты, идентификаторы, кратность связей и сущности, раскрывающие связи «многие ко многим».
OrderItem хранит количество и цену покупки товара в конкретном заказе.
Опишите имена таблиц, типы данных, ограничения и особенности реализации в выбранной базе данных.
Уточните типы столбцов и индексы при планировании реализации.
Boardmix — визуальное пространство для построения и обсуждения модели. Ограничения и реализацию базы данных нужно настраивать в инструментах для работы с самой базой.
Диаграмма «сущность — связь» (ERD) показывает сущности системы, их атрибуты и связи. Она помогает команде описать требования к данным и спланировать структуру базы до реализации.
Можно начать с бесплатного аккаунта Boardmix и создать диаграмму на доске. Ограничения бесплатного тарифа и доступные варианты экспорта зависят от действующего плана. Посмотрите тарифы Boardmix и доступные в них возможности.
Используйте понятную команде нотацию и придерживайтесь её. В нотации Чена сущности обычно обозначают прямоугольниками, атрибуты — овалами, связи — ромбами. В нотации «воронья лапка» кратность связи показывают символами на концах линий. Числовые подписи, например 1 и 0..*, тоже позволяют явно указать кратность, как в примере выше.
В реляционной модели добавьте промежуточную сущность между двумя исходными. Например, OrderItem связывает Order и Product и хранит количество и цену каждой позиции заказа. Свяжите её с обеими исходными сущностями с помощью внешних ключей.
ER-диаграмма описывает данные и связи между ними. Блок-схема показывает этапы процесса и решения. Используйте ERD для моделирования клиентов и заказов, а редактор блок-схем — чтобы показать путь заказа от оформления до выполнения.
В Boardmix можно нарисовать и обсудить модель, а затем реализовать её в инструментах для работы с базой данных. Диаграмма передаёт замысел: нарисованный первичный ключ или связь не создаёт ограничений в базе и не проверяет действующую схему.
Соберите сущности, связи и открытые вопросы на одной доске. Постройте модель, которую команда сможет понять и доработать вместе.
Создать ER-диаграмму