SCD Type 2 — медленно меняющиеся измерения

easy data_engineering Общие

Условие задания

**Компания:** Сбер

**Контекст:** В DWH хранится справочник клиентов. Когда клиент меняет город проживания, нужно сохранить историю изменений (SCD Type 2). Текущая таблица:

[см. код в задании]

**Задание:**
1. Напишите SQL для закрытия текущей записи клиента и вставки новой при смене города
2. Напишите запрос для получения актуальных данных по всем клиентам
3. Напишите запрос для получения города клиента на конкретную дату

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

-- Шаг 1: закрыть текущую запись
UPDATE dim_customer
SET valid_to = CURRENT_DATE - INTERVAL '1 day',
    is_current = FALSE
WHERE customer_id = 12345
  AND is_current = TRUE;

-- Шаг 2: вставить новую версию
INSERT INTO dim_customer (customer_id, name, city, valid_from, valid_to, is_current)
SELECT customer_id, name, 'Москва', CURRENT_DATE, '9999-12-31', TRUE
FROM dim_customer
WHERE customer_id = 12345
  AND valid_to = CURRENT_DATE - INTERVAL '1 day'
ORDER BY valid_from DESC
LIMIT 1;

Темы

SCD Type 2 DWH измерения историчность

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "SCD Type 2 — медленно меняющиеся измерения"?

Это задание для уровня easy. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «data_engineering» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: SCD, Type 2, DWH, измерения, историчность.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «data_engineering»?

На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.

← Все задания