Чем пользоваться при планировке баз данных?

При больших проектах какими инструментами пользуйтесь для планировки баз данных?

Мне нужно визуализировать то что я буду делать в дальнейшем, мне нужен какой та инструмент для этого, созданная для этого
  • Вопрос задан
  • 674 просмотра
Решения вопроса 2
@andrei_pro
Попробуйте dbdesign
Ответ написан
Комментировать
vollthegreat
@vollthegreat
Laravel back-end outsource
Листочек для прототипа, потом в draw.io.
Опционально, эта программа доступна из под Jira
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@0x131315
Выбираю СУБД. От неё сильно зависят возможности: типы данных, индексы, промежуточные таблицы.
Разбиваю куски данных на сущности - тематические наборы данных.
Раскидываю сущности по таблицам - определяю что именно за поля должны быть в каждой сущности, для чего они нужны, какие типы данных будут оптимальны.
Связываю сущности отношениями. Выясняю, действительно ли необходимы каскадные операции отношениям, или нет, где лучше сохранить устаревшие данные, где можно подчистить, а где нужно сохранять актуальные связи по id.
Оцениваю получившуюся структуру, оптимизирую её: денормализую некоторые сущности, добавляю данные в связи, где не хватает, добавляю служебные поля, индексы.
Далее гоняю несколько итераций в голове на типичные сценарии использования: где-то всплывает неоптимальность структуры, или типа поля, где-то отсутствие необходимого поля, где-то можно сохранить дополнительную информацию, которая сейчас не нужна, но в некоторых сценариях значительно ускорит выборку данных из БД.

Идеал все равно не получится, остальное допиливается миграциями по мере необходимости. Но самых крупных косяков можно избежать, как следует подумав что хранить, зачем, в каком виде, как это будет использоваться, как работает СУБД, как ей помочь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы