Ответ
В моем последнем проекте проектированием БД занималась команда из backend-разработчиков совместно с архитектором. Мы использовали подход, где сначала создавали ER-диаграммы в инструментах типа MySQL Workbench, затем согласовывали с бизнес-аналитиками. Основные принципы:
- Нормализация до 3NF
- Оптимизация под частые запросы
- Продуманные индексы
Пример части схемы для заказов:
CREATE TABLE orders (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
status ENUM('NEW', 'PROCESSING', 'SHIPPED') NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
Позже дорабатывали схему по мере роста нагрузки, добавляя денормализацию для отчетов.