Визуализация баз данных и ER-диаграмм

ER-диаграмма показывает сущности базы данных и связи между ними. Раньше её рисовали вручную в редакторах вроде MySQL Workbench или draw.io. Сейчас появились сервисы, которые строят диаграмму по короткому описанию или по готовому SQL-коду. Разберём, как это работает и какие инструменты стоит попробовать.
Зачем нужна ER-диаграмма
Диаграмма нужна на старте проекта, когда команда ещё не написала ни строчки кода, и на этапе поддержки, когда новому разработчику нужно быстро понять структуру старой базы. Она также помогает на ревью: проще найти лишнюю таблицу или пропущенный внешний ключ на схеме, чем в тексте SQL-скрипта.
Формат схемы обычно называют crow’s foot (нотация «воронья лапка»). Линия с раздвоенным концом означает связь «многие», одна линия без раздвоения — связь «один». Комбинации этих символов дают три типа связей: один к одному, один ко многим, многие ко многим.
Два способа получить диаграмму
Первый способ — нарисовать таблицы руками в визуальном редакторе, перетаскивая блоки и соединяя их стрелками. Так до сих пор работают многие инструменты, и метод остаётся надёжным для небольших схем.
Второй способ — описать структуру словами или вставить готовый SQL-дамп, а дальше сервис сам расставит таблицы, определит связи и нарисует диаграмму. Именно этот подход сейчас растёт быстрее всего, потому что экономит часы ручной работы над версткой схемы.
Примеры инструментов для создания диаграмм
dbdiagram.io (AI Assistant)

Ссылка: dbdiagram.io
Ассистент встроен в редактор и работает на платном тарифе. Пользователь пишет запрос вроде «добавь таблицу заказов и свяжи её с клиентами», а модель сама редактирует DBML-код и показывает изменения в окне сравнения. Умеет расставлять индексы, группировать таблицы по цвету и конвертировать типы данных под другую СУБД.
DrawDB

Ссылка: DrawDB
Открытый браузерный инструмент без обязательной регистрации. Принимает готовый SQL-скрипт и за секунды рисует по нему диаграмму, которую потом можно донастроить вручную: добавить поля, изменить связи, экспортировать в PNG или SQL. Есть локальная версия для тех, кто не хочет хранить схему в облаке.
Chatdiagram

Ссылка: Chatdiagram
Специализированный сервис для построения ERD из текста. Принимает описание бизнес-логики на естественном языке, а также файлы PDF, документы, изображения. Разбирает загруженный материал, вычленяет сущности и связи и строит диаграмму в нотации «воронья лапка» с пометками первичных и внешних ключей.
dbdesigner.net (Generate with AI)

Ссылка: dbdesigner.net
Функция вызывается через меню Files → New → Generate with AI. Пользователь описывает идею базы на любом языке, и сервис за пару секунд выдаёт черновой набор таблиц и полей. Подходит для быстрого старта, когда нужен не финальный проект, а отправная точка для дальнейшей ручной доработки.
ChatGPT / Claude + визуализатор

Отдельного инструмента под ERD не требуется. Языковой модели можно поставить задачу описать структуру базы в формате DBML, SQL DDL или синтаксисе Mermaid, а готовый текст вставить в бесплатный визуализатор вроде Mermaid Live или dbdiagram.io. Такой способ удобен, когда сервис под рукой уже есть, например на платформе с доступом сразу к нескольким моделям, и можно сравнить два-три варианта схемы перед тем как выбрать лучший.
Что делать, если под рукой только текстовый чат с ИИ
Не обязательно искать отдельный сервис под ERD. Любую крупную языковую модель можно попросить описать структуру базы в формате DBML, SQL DDL или синтаксисе Mermaid (erDiagram). Такой текст затем вставляется в бесплатный визуализатор, например в тот же dbdiagram.io или в редактор Mermaid Live, и превращается в готовую картинку.
Этот путь удобен, когда нужен быстрый набросок без регистрации в новом сервисе: модель уже под рукой, а платформы вроде Syntasy.pro дают доступ сразу к нескольким моделям в одном окне, так что можно сравнить пару вариантов схемы от разных нейросетей и выбрать более точный.
На что обратить внимание после генерации
Автоматическая схема требует проверки по трём пунктам.
Типы данных. Модель часто ставит generic-типы вроде varchar(255) там, где нужен конкретный формат — дата, перечисление, десятичное число с фиксированной точностью.
Внешние ключи и каскадные действия. Стоит вручную проверить, что при удалении родительской записи заданы правильные правила ON DELETE и ON CASCADE, ИИ нередко оставляет это поле пустым.
Нормализация. Сгенерированная схема иногда дублирует данные между таблицами. Разработчику стоит пройтись по третьей нормальной форме и убрать очевидные избыточности.