Битые ссылки
This commit is contained in:
+10
-10
@@ -324,7 +324,7 @@ fact_sales.order_date BETWEEN dim_customer.valid_from AND dim_customer.valid_to
|
|||||||
- **Серые соединители (Линки)** — это *«как связаны»*: «заказ №5001 создан клиентом №101».
|
- **Серые соединители (Линки)** — это *«как связаны»*: «заказ №5001 создан клиентом №101».
|
||||||
Не сами объекты, а *связь между ними*. И даже эту связь можно «отвязать» и привязать по-другому — без пересборки кирпичей.
|
Не сами объекты, а *связь между ними*. И даже эту связь можно «отвязать» и привязать по-другому — без пересборки кирпичей.
|
||||||
- **Жёлтые наклейки (Сателлиты)** — это *«какие у них свойства»*: имя клиента, статус заказа, цена товара.
|
- **Жёлтые наклейки (Сателлиты)** — это *«какие у них свойства»*: имя клиента, статус заказа, цена товара.
|
||||||
И самое важное: **каждый раз, когда что-то изменилось — наклеиваем новую жёлтую наклейку**, не стирая старую. Так у нас остаётся *полная история*.
|
И самое важное: **каждый раз, когда что-то изменилось — наклеиваем новую новую наклейку**, не стирая старую. Так у нас остаётся *полная история*.
|
||||||
|
|
||||||
💡 **Главный принцип DV**:
|
💡 **Главный принцип DV**:
|
||||||
> *«Идентичность — навсегда. Свойства — меняются. Связи — тоже могут меняться. И всё это — отдельно.»*
|
> *«Идентичность — навсегда. Свойства — меняются. Связи — тоже могут меняться. И всё это — отдельно.»*
|
||||||
@@ -557,7 +557,7 @@ flowchart LR
|
|||||||
|
|
||||||
### **Готовые SQL-скрипты**
|
### **Готовые SQL-скрипты**
|
||||||
|
|
||||||
Все необходимые скрипты для построения хранилища находятся в папке [`sql/`](dwh-modeling/sql/)):
|
Все необходимые скрипты для построения хранилища находятся в папке [`sql/`](dwh-modeling/sql/):
|
||||||
|
|
||||||
- [`01_ddl_stg-dds.sql`](dwh-modeling/sql/01_ddl_stg-dds.sql) — создание схем и таблиц (STG, ODS, DDS)
|
- [`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) — загрузка данных и трансформация
|
- [`02_dml_stg-dds.sql`](dwh-modeling/sql/02_dml_stg-dds.sql) — загрузка данных и трансформация
|
||||||
@@ -797,9 +797,9 @@ SELECT 'OK' WHERE EXISTS (
|
|||||||
|
|
||||||
## **ЧАСТЬ C. Мини-датасет (для практики)**
|
## **ЧАСТЬ C. Мини-датасет (для практики)**
|
||||||
|
|
||||||
Все данные для практики находятся в папке [`data/`](dwh-modeling/data/)) — тренируйтесь:
|
Все данные для практики находятся в папке [`data/`](data/) — тренируйтесь:
|
||||||
|
|
||||||
[**`customers.csv`**](dwh-modeling/data/customers.csv)):
|
[**`customers.csv`**](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,Москва
|
||||||
@@ -807,14 +807,14 @@ customer_id,email,phone,city
|
|||||||
102,c@ex.com,701,СПб
|
102,c@ex.com,701,СПб
|
||||||
```
|
```
|
||||||
|
|
||||||
[**`orders.csv`**](dwh-modeling/data/orders.csv)):
|
[**`orders.csv`**](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`**](dwh-modeling/data/order_items.csv)):
|
[**`order_items.csv`**](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
|
||||||
@@ -822,27 +822,27 @@ 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`**](dwh-modeling/data/products.csv)):
|
[**`products.csv`**](data/products.csv):
|
||||||
```csv
|
```csv
|
||||||
product_id,name
|
product_id,name
|
||||||
9001,Phone
|
9001,Phone
|
||||||
9002,Case
|
9002,Case
|
||||||
```
|
```
|
||||||
|
|
||||||
[**`prices.csv`**](dwh-modeling/data/prices.csv)):
|
[**`prices.csv`**](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
|
||||||
```
|
```
|
||||||
|
|
||||||
> 📂 Все SQL-скрипты для построения хранилища находятся в папке [`sql/`](dwh-modeling/sql/)).
|
> 📂 Все SQL-скрипты для построения хранилища находятся в папке [`sql/`](sql/).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## **ЧАСТЬ D. DDL-скелеты (PostgreSQL)**
|
## **ЧАСТЬ D. DDL-скелеты (PostgreSQL)**
|
||||||
|
|
||||||
Полные DDL-скрипты для всех слоёв хранилища находятся в файле [`01_ddl_stg-dds.sql`](dwh-modeling/sql/01_ddl_stg-dds.sql).
|
Полные DDL-скрипты для всех слоёв хранилища находятся в файле [`01_ddl_stg-dds.sql`](sql/01_ddl_stg-dds.sql).
|
||||||
|
|
||||||
Пример структуры основных таблиц DDS:
|
Пример структуры основных таблиц DDS:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user