OLTP va OLAP, Kimball 4 qadami, Star Schema, Snowflake Schema
10-sinfBI & ML5-hafta · 13-darsOperatsion va tahliliy model
Fakt markazda, o'lchamlar atrofda
Normallashgan o'lchamlar
CASE WHEN da ELSE yozilmasa va hech bir shart mos kelmasa natija nima bo'ladi?
ELSE bo'lmasa mos kelmagan qatorlar uchun NULL qaytadi.Operatsion va tahliliy model
-- OLTP: bitta yozuvni yangilash
UPDATE yillik_kpi SET oquvchilar_soni = 486000
WHERE hudud_id = 1 AND yil = 2024;
-- OLAP: ko'p qatorni jamlash
SELECT yil, SUM(oquvchilar_soni) AS jami
FROM yillik_kpi
GROUP BY yil;
Qaysi biri OLAP so'rovi?
Fakt markazda, o'lchamlar atrofda
CREATE TABLE dim_hudud (
hudud_key INTEGER PRIMARY KEY,
nomi TEXT, markaz TEXT
);
CREATE TABLE dim_sana (
sana_key INTEGER PRIMARY KEY,
yil INTEGER
);
CREATE TABLE fact_kpi (
hudud_key INTEGER REFERENCES dim_hudud(hudud_key),
sana_key INTEGER REFERENCES dim_sana(sana_key),
oquvchilar_soni INTEGER,
oqituvchilar_soni INTEGER,
maktablar_soni INTEGER
);
hudud x yil. 5 hudud va 3 yil bo'lsa, fact_kpi da 15 qator bo'ladi.Fakt jadvalning «grain» i nimani bildiradi?
Normallashgan o'lchamlar
-- Star: 1 ta JOIN
SELECT h.nomi, SUM(f.oquvchilar_soni)
FROM fact_kpi f JOIN dim_hudud h ON h.hudud_key = f.hudud_key
GROUP BY h.nomi;
-- Snowflake: 2 ta JOIN
SELECT m.markaz_nomi, SUM(f.oquvchilar_soni)
FROM fact_kpi f
JOIN dim_hudud h ON h.hudud_key = f.hudud_key
JOIN dim_markaz m ON m.markaz_id = h.markaz_id
GROUP BY m.markaz_nomi;
Snowflake Schema ning Star dan asosiy farqi?
BI uchun odatda Star tanlanadi.
Raqamli o'lchovlar jadvali: o'quvchilar soni
Tavsiflovchi jadval: hudud, yil
Fakt qatori aniqligi: hudud x yil
Sun'iy butun kalit: hudud_key
Bitta qator nimani bildirishini yozing.
dim_hudud, dim_sana jadvallarini yarating.
fact_kpi ni FK lar va o'lchovlar bilan yarating.
| Xususiyat | OLTP | OLAP |
|---|---|---|
| Maqsad | kundalik amallar | tahlil va hisobot |
| Model | normallashgan | star / snowflake |
| Amal | INSERT, UPDATE | SELECT, GROUP BY |
| Qator hajmi | kam qator | ko'p qator |
| Misol | yillik_kpi yozuvi | yillik jami hisobot |
Pastga bosing: tanlash qoidasi
CREATE TABLE fact_kpi (
);
CREATE TABLE fact_kpi (
hudud_key INTEGER,
sana_key INTEGER,
oquvchilar_soni INTEGER
);
5 hudud x 3 yil = 15 qator: grain «hudud x yil».
maktab.db asosidagi fakt jadval uchun grain jumlasini yozing va nechta qator bo'lishini ayting.dim_hudud, dim_sana va fact_kpi jadvallarini yarating, yillik_kpi dan to'ldiring.dim_hudud dan dim_markaz ni ajrating va markazlar bo'yicha 2024-yil jami o'quvchilarni toping.Operatsion va tahliliy model farqi.
4 qadam: jarayon, grain, dimension, fact.
Star sodda, Snowflake normallashgan.
Uyga vazifa: Star Schema ni maktab.db da qurish.
Grain, additive o'lchovlar, surrogate kalit
5-hafta · 14-dars