Ответ вслух Middle ER-модели и нормализация обновлено

Как ты строишь модель данных

Вопрос

Расскажи, как ты проектируешь модель данных для новой функции: с чего начинаешь и что проверяешь.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Начинаю с концептуальной модели: выписываю существительные из требований и глоссария, отделяю сущности от атрибутов, рисую связи с кардинальностью и обязательностью. Потом логическая модель: атрибуты, суррогатные первичные ключи, бизнес-ключи под UNIQUE, нормализация до третьей формы.

Что должно прозвучать в ответе

  • От домена: сущности и связи из требований и глоссария

  • Кардинальность и обязательность связей

  • Ключи: суррогатные PK, бизнес-ключи как UNIQUE

  • Жизненный цикл: статусы, история, удаление и ПДн

  • Объёмы и запросы: индексы, архив

  • Словарь данных и ревью с разработкой

Что могут спросить следом

  • Как поступаешь с историей изменений сущности?
  • Где хранить справочники?

Разбор

Начинаю с концептуальной модели: выписываю существительные из требований и глоссария, отделяю сущности от атрибутов, рисую связи с кардинальностью и обязательностью. Потом логическая модель: атрибуты, суррогатные первичные ключи, бизнес-ключи под UNIQUE, нормализация до третьей формы. Отдельно продумываю жизненный цикл: статусы и история изменений, что происходит при удалении, где персональные данные и как их обезличивать. Смотрю на объёмы и главные запросы, чтобы предложить индексы и архивирование. Результат оформляю ER-диаграммой и словарём данных и прохожу с разработчиком, который знает ограничения СУБД.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.