Выбор ответа Senior ER-модели и нормализация обновлено

История изменений справочника

Вопрос

В хранилище данных отчёты по продажам нужно строить по региону, к которому клиент относился на момент покупки, хотя клиенты переезжают. Какой подход к таблице клиентов?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: SCD типа 2: новая версия строки с периодом действия. SCD тип 2 хранит версии с датами начала и конца действия, и факт продажи связывается с версией, актуальной на дату покупки.

Варианты ответа

  1. SCD типа 2: новая версия строки с периодом действияправильный ответ
  2. Удалять клиента при переезде и создавать заново
  3. Перезаписывать регион в строке клиента (SCD типа 1)
  4. Хранить только текущий регион и пересчитывать отчёты

Разбор

SCD тип 2 хранит версии с датами начала и конца действия, и факт продажи связывается с версией, актуальной на дату покупки. Перезапись (тип 1) теряет историю, и прошлые продажи «переедут» в новый регион. Пересчёт по текущему региону даёт ту же ошибку. Удаление ломает связи.

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

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