Какие инструменты использовать для описания базы данных и ER-диаграмм
Что проверяют
Умеете ли вы описать данные так, чтобы по описанию могли работать разработчики, а не только нарисовать красивую картинку. Интервьюер смотрит, различаете ли вы уровни модели и нотации. Следом часто просят на ходу набросать модель простой предметной области, например заказов и товаров.
Как отвечать
Начните с того, что инструмент вторичен, а важны уровень модели и нотация:
- уровни: концептуальная модель (сущности и связи для бизнеса), логическая (атрибуты, ключи, нормализация), физическая (таблицы, типы, индексы под конкретную СУБД);
- нотации: «воронья лапка» (IE) самая распространённая, нотация Чена в основном в учебниках, IDEF1X встречается реже, подходит и диаграмма классов UML;
- рисование: draw.io, Miro, Lucidchart, Visio, когда нужна просто схема;
- диаграммы как код: PlantUML, Mermaid с
erDiagram, dbdiagram.io на языке DBML. Схема лежит в Git или Confluence рядом с требованиями, изменения видны на ревью; - моделирование с генерацией DDL: MySQL Workbench, pgModeler, Enterprise Architect, Visual Paradigm;
- обратное проектирование: DBeaver и DataGrip строят диаграмму по существующей базе, это быстрый способ понять чужую систему.
Кроме диаграммы, базу описывают словарём данных: таблица с полями, типами, обязательностью, допустимыми значениями и источником. Разработчикам он часто нужнее картинки. Расскажите, чем пользовались вы и почему, например PlantUML ради версионирования или DBeaver для разбора легаси. Если опыт только учебный, так и скажите и покажите знание нотации на примере.
Где спотыкаются
Отвечают списком программ и не могут объяснить кардинальность: чем «один ко многим» отличается от «многие ко многим» и как вторая связь превращается в таблицу-связку.
Смешивают уровни: на концептуальной модели появляются типы varchar и технические поля, и бизнес перестаёт понимать схему.
Рисуют диаграмму один раз и не поддерживают. Через полгода она расходится с базой, и ей перестают доверять.