- customer_segment: убрана несуществующая колонка dim_customer, заменена
на CASE по сумме (как в 06_dml_dm.sql)
- MATERIALIZED VIEW заменён на TRUNCATE + INSERT INTO (как в скриптах),
упоминание MV оставлено в ремарке
- добавлен комментарий о недетерминированности CURRENT_DATE в bounds
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- в статье и скриптах обнаружены фактические ошибки и несостыковки
- Что:
- README: f.order_date -> d.date_actual в примере витрины (колонки order_date нет в fact_sales)
- README: «календарь на 10 лет» -> «5 лет» (соответствует генерации 2023-2027 в скрипте)
- 09_solution: bounds CTE теперь использует CURRENT_DATE для открытых интервалов (valid_to IS NULL)
- 09_solution: комментарий про дубли в STG при повторном запуске блока 3
- 05_ddl_dm: выравнивание total_line_items
- AGENTS.md: обновлён диапазон скриптов 01-09
- Проверка:
- визуальная проверка diff
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- менти видит два разных паттерна ODS (снимок vs event log) и не понимает почему
- Что:
- в решении домашки (блок 1 ODS): комментарий, почему customer_status хранит все события
- в домашке (раздел 3.2): пометка о сознательном выборе модели ODS
- Проверка:
- визуальная проверка diff
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- решение домашки должно быть самодостаточным и наглядным для самопроверки
- Что:
- добавлены контрольные SELECT после каждого блока (ODS, DDS, инкремент, DM)
- блок 3 (инкремент) стал самодостаточным: загрузка в STG + UPSERT в ODS + SCD2
- DDL витрины вынесен из решения/шаблона/домашки в 07_ddl_hw_customer_status.sql
- предусловия в домашке дополнены (05_ddl_dm.sql, пояснение про dim_date)
- в шапку решения добавлено напоминание сначала попробовать самостоятельно
- Проверка:
- визуальная проверка diff
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- разделы 3NF и Звезда были слишком краткими для учебного материала,
менти не видел разницу между моделями на практике
- Что:
- 3NF: добавлена mermaid-диаграмма с dim_city и SQL-запрос (3 JOIN)
- Звезда: добавлена явная связь с разделом 5, SQL-запрос (2 JOIN) для контраста
- оба примера отвечают на один вопрос: «сколько потратил клиент из Москвы?»
- Проверка:
- визуальная проверка diff
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- убрать путаницу, дублирование и неточности в демо-скриптах и домашке
- Что:
- CSV: заголовок load_ts → _load_ts во всех файлах (совпадает с именем в таблицах)
- домашка: убраны оговорки о расхождении load_ts/_load_ts, добавлена ссылка на эталонное решение
- 09_dml_hw_customer_status_solution.sql: эталонное решение скопировано из ветки solution/hw_customer_status в основную
- 02_dml: добавлена карта загрузки в шапку (что откуда строится)
- 05_ddl_dm + 06_dml_dm: total_orders → total_line_items (название точнее отражает содержимое)
- Проверка:
- визуальная проверка diff, скрипты не запускались (демо-стенд не поднят)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>