В статью добавлены ссылки на скрипты с учебным примером

This commit is contained in:
2025-11-08 22:16:11 +03:00
parent 3cbaeb5fc2
commit d5220adcf0
+22 -7
View File
@@ -539,6 +539,17 @@ flowchart LR
DM --> BI[Power BI] DM --> BI[Power BI]
``` ```
### **Готовые SQL-скрипты**
Все необходимые скрипты для построения хранилища находятся в папке [`sql/`](dwh-modeling/sql/)):
- [`01_ddl_stg-dds.sql`](dwh-modeling/sql/01_ddl_stg-dds.sql) — создание схем и таблиц (STG, ODS, DDS)
- [`02_dml_stg-dds.sql`](dwh-modeling/sql/02_dml_stg-dds.sql) — загрузка данных и трансформация
- [`03_demo_increment.sql`](dwh-modeling/sql/03_demo_increment.sql) — инкрементальная загрузка и SCD2
- [`04_validation.sql`](dwh-modeling/sql/04_validation.sql) — проверки качества данных
- [`05_ddl_dm.sql`](dwh-modeling/sql/05_ddl_dm.sql) — создание витрин (Data Marts)
- [`06_dml_dm.sql`](dwh-modeling/sql/06_dml_dm.sql) — наполнение витрин данными
### **Пример SQL-запроса для витрины** ### **Пример SQL-запроса для витрины**
```sql ```sql
@@ -747,9 +758,9 @@ SELECT 'OK' WHERE EXISTS (
## **ЧАСТЬ C. Мини-датасет (для практики)** ## **ЧАСТЬ C. Мини-датасет (для практики)**
Положите эти файлы в папку `data/` — и тренируйтесь: Все данные для практики находятся в папке [`data/`](dwh-modeling/data/)) — тренируйтесь:
**`customers.csv`** [**`customers.csv`**](dwh-modeling/data/customers.csv)):
```csv ```csv
customer_id,email,phone,city customer_id,email,phone,city
101,a@ex.com,700,Москва 101,a@ex.com,700,Москва
@@ -757,14 +768,14 @@ customer_id,email,phone,city
102,c@ex.com,701,СПб 102,c@ex.com,701,СПб
``` ```
**`orders.csv`** [**`orders.csv`**](dwh-modeling/data/orders.csv)):
```csv ```csv
order_id,order_date,customer_id order_id,order_date,customer_id
5001,2024-01-10,101 5001,2024-01-10,101
5002,2024-02-05,102 5002,2024-02-05,102
``` ```
**`order_items.csv`** [**`order_items.csv`**](dwh-modeling/data/order_items.csv)):
```csv ```csv
order_item_id,order_id,product_id,qty,price_at_sale order_item_id,order_id,product_id,qty,price_at_sale
1,5001,9001,2,100.00 1,5001,9001,2,100.00
@@ -772,26 +783,30 @@ order_item_id,order_id,product_id,qty,price_at_sale
3,5002,9001,1,100.00 3,5002,9001,1,100.00
``` ```
**`products.csv`** [**`products.csv`**](dwh-modeling/data/products.csv)):
```csv ```csv
product_id,name product_id,name
9001,Phone 9001,Phone
9002,Case 9002,Case
``` ```
**`prices.csv`** [**`prices.csv`**](dwh-modeling/data/prices.csv)):
```csv ```csv
product_id,valid_from,valid_to,price product_id,valid_from,valid_to,price
9001,2023-12-01,2024-01-31,100 9001,2023-12-01,2024-01-31,100
9001,2024-02-01,2999-12-31,110 9001,2024-02-01,2999-12-31,110
``` ```
> 📂 Примеры DDL, SQL-загрузки, SCD-скрипты — в [GitHub-репозитории к статье](https://github.com/dementev-dev/de-roadmap/). > 📂 Все SQL-скрипты для построения хранилища находятся в папке [`sql/`](dwh-modeling/sql/)).
--- ---
## **ЧАСТЬ D. DDL-скелеты (PostgreSQL)** ## **ЧАСТЬ D. DDL-скелеты (PostgreSQL)**
Полные DDL-скрипты для всех слоёв хранилища находятся в файле [`01_ddl_stg-dds.sql`](dwh-modeling/sql/01_ddl_stg-dds.sql).
Пример структуры основных таблиц DDS:
```sql ```sql
-- DDS: измерение клиента (SCD Type 2) -- DDS: измерение клиента (SCD Type 2)
CREATE TABLE dds.dim_customer ( CREATE TABLE dds.dim_customer (