AXV

Normalizatsiya

Relatsion model (2-qism): 1NF, 2NF, 3NF va BI'dagi o'rni

9-sinfBusiness Intelligence4-hafta · 10-dars

Bugungi reja

01. Muammo

Redundansiya va 3 ta anomaliya.

02. Normal shakllar

1NF, 2NF, 3NF bosqichma-bosqich.

03. BI'da

OLTP, Star schema, Fact va Dimension.

Takrorlash: 9-dars

1:N munosabatda Foreign Key qaysi jadvalga qo'yiladi?

To'g'ri: masalan, Buyurtmalar jadvalida MijozID (FK). Bugun jadvallarni qanday to'g'ri ajratishni o'rganamiz.
01

Muammo: yassi jadval

Hammasi bitta jadvalda bo'lsa nima bo'ladi?

Bitta katta jadval

BuyurtmaIDMijozIsmiTelefonMahsulotlarNarxlar
101Aziza90 111 22 33Sichqoncha, Klaviatura80000, 150000
102Aziza90 111 22 33Monitor1900000
103Bekzod93 444 55 66Sichqoncha80000
Mijoz har buyurtmada takrorlanadi, bitta katakda bir nechta mahsulot.

Redundansiya

Redundansiya - bir xil ma'lumotning bazada ortiqcha takrorlanishi.
0
Aziza
0
telefoni takrorlangan
0
real do'konda buyurtmalar

Uchta anomaliya

Update

bosing

Telefon faqat 101-qatorda yangilandi, 102-qatorda eskisi qoldi - ziddiyat.

Insert

bosing

Yangi mahsulotni hali hech kim olmagan - uni jadvalga qo'shib bo'lmaydi.

Delete

bosing

Bekzodning yagona buyurtmasi o'chirildi - Bekzod haqidagi ma'lumot ham yo'qoldi.

Normalizatsiya nima?

Oldin

Bitta katta jadval, ko'p takrorlanish, anomaliyalar.
→

Keyin

Bir nechta kichik jadval, PK va FK bilan bog'langan. Har ma'lumot bir joyda.

Bosqichlari normal shakllar (Normal Forms) deb ataladi: 1NF, 2NF, 3NF.

02

Normal shakllar

Kalitga, butun kalitga, faqat kalitga

1NF: har katakda bitta qiymat

BuyurtmaIDMijozIsmiTelefonMahsulotNarx
101Aziza90 111 22 33Sichqoncha80000
101Aziza90 111 22 33Klaviatura150000
102Aziza90 111 22 33Monitor1900000
103Bekzod93 444 55 66Sichqoncha80000

Kalit endi kompozit: (BuyurtmaID, Mahsulot). Takrorlanish hali ko'p.

2NF: butun kalitga bog'liq

Kalit

(BuyurtmaID, Mahsulot)

Qisman bog'liqlik

Sana, MijozIsmi - faqat BuyurtmaID ga; Narx - faqat Mahsulot ga.


Buyurtmalar(BuyurtmaID PK, Sana, MijozIsmi, Telefon)
Mahsulotlar(MahsulotID PK, Nomi, Narx)
BuyurtmaTarkibi(BuyurtmaID FK, MahsulotID FK, Soni)
  

3NF: faqat kalitga bog'liq

BuyurtmaID Mijoz Telefon tranzitiv bog'liqlik: Buyurtma → Mijoz → Telefon

Telefon ustiga bosing.

Yakuniy 3NF model


Mijozlar(MijozID PK, Ism, Telefon, Shahar)
Buyurtmalar(BuyurtmaID PK, Sana, MijozID FK)
Mahsulotlar(MahsulotID PK, Nomi, Narx)
BuyurtmaTarkibi(BuyurtmaID FK, MahsulotID FK, Soni)
  
Telefon bir joyda, mahsulotni buyurtmasiz qo'shish mumkin, buyurtma o'chsa ham mijoz qoladi.

Eslab qolish qoidasi

1NF - kalitga

Har katakda bitta qiymat, takrorlanuvchi ustunlar yo'q.

2NF - butun kalitga

Kompozit kalitning bir qismiga bog'liqlik yo'q.

3NF - faqat kalitga

Kalit bo'lmagan ustunlar bir-biriga bog'liq emas.

Mini-test

Xodimlar(XodimID, Ism, BolimID, BolimNomi) jadvalida BolimNomi BolimID ga bog'liq. Qaysi shakl buzilgan?

Kalit bo'lmagan ustun (BolimNomi) boshqa kalit bo'lmagan ustunga (BolimID) bog'liq - tranzitiv bog'liqlik, 3NF buzilgan.
03

Normalizatsiya va BI

Yozish uchun - normallashtirish, o'qish uchun - yulduz

OLTP va BI

Tranzaksion tizim

Kassa, bank, sayt. Har kuni minglab yozuv. Model - 3NF, ustuvorlik - yaxlitlik.

Tahliliy tizim

Hisobot, dashboard. Ko'p o'qish. Model - Star schema, ustuvorlik - tezlik va soddalik.

Star schema

FactSotuv DimSana DimMijoz DimMahsulot DimDokon

Markazda Fact (raqamlar), atrofida Dimension (tavsiflar). Bloklar ustiga bosing.

Fact yoki Dimension?

Fact

O'lchanadigan hodisalar: Soni, Summa, Chegirma. Qatorlar juda ko'p.

Dimension

Kim, nima, qachon, qayerda: Mijoz, Mahsulot, Sana, Do'kon.

Denormalizatsiya - tahlil tezligi uchun jadvallarni qasddan birlashtirish.

Mini-test

Star schema markazidagi jadval qanday ataladi?

Fact jadvalda raqamlar va Dimension jadvallarga FK lar turadi.

Amaliy topshiriqlar 15 daqiqa

OsonSinf rahbari telefoni 30 qatorda: qanday anomaliya? To'garaklar jadvalini 1NF ga keltiring.
O'rtaBaholar jadvalini (O'quvchi, Fan, O'qituvchi, Baho) 3NF ga keltiring.
QiyinDo'kon uchun Star schema: 1 Fact va 3 Dimension, har birida 3-4 ustun.

Dars xulosasi

Muammo

Redundansiya: Update, Insert, Delete anomaliyalari.

Yechim

1NF, 2NF, 3NF: kalitga, butun kalitga, faqat kalitga.

BI

OLTP - 3NF; hisobot - Star schema.

Uyga vazifa: kutubxona jadvalini 3NF ga keltirish.

Keyingi dars: RDBMS va yaxlitlik

SQL Server, SSMS va cheklovlar

4-hafta · 11-dars