Ma'lumotlar bazasi dizayni β 0 dan ekspertgacha
Bu kitob ma'lumotlar bazasini to'g'ri loyihalashni o'rgatadi: talab tahlilidan ER-modellashtirish, normalizatsiya va fizik dizayndan tortib NoSQL, analitik ombor va taqsimlangan masshtablashgacha. Asosiy vosita β PostgreSQL 18 , lekin tamoyillar har qanday bazaga tegishli; kerakli joyda MySQL farqlari ham izohlanadi.
π― Bu kitob nimasi bilan SQL kitobidan farq qiladi? SQL va MySQL kitobi bazadan qanday so'rov yozishni (SELECT, JOIN, GROUP BY) o'rgatadi. Bu kitob esa undan keyingi savolga javob beradi: qanday sxema loyihalash kerak? Qaysi jadval, qaysi kalit, qancha normalizatsiya, qaysi indeks, qaysi modellashtirish naqshi. Sintaksis emas β qaror .
π¨ Har bob SVG diagrammalar bilan boyitilgan (jami 72 ta): ER-model, kardinallik, normalizatsiya qadamlari, indeks tuzilishi, star-schema, partition xaritasi va boshqalar ko'z bilan ko'rib o'rganiladi.
π» Hamma kod ishlatiladi. Kitobdagi har bir DDL va so'rov PostgreSQL 18.4 da haqiqatan ishga tushirilib tekshirilgan. Siz ham har misolni o'zingiz tering β dizayn o'qib emas, loyihalab o'rganiladi.
Talab
Kerak
Daraja
SQL asoslari (SELECT, JOIN, CREATE)
Shart β avval SQL va MySQL kitobini o'qing
PostgreSQL 16+ (18 tavsiya etiladi)
Shart β misollarni sinash uchun
Oldingi dizayn tajribasi
Shart emas
Qanday o'qish kerak
Boblarni tartib bilan o'qing β har qism oldingisiga tayanadi (modellashtirish β normalizatsiya β fizik dizayn β ilg'or mavzular).
Har bobdagi DDL'ni o'z PostgreSQL'ingizda terib ko'ring β sxemani his qilish uchun.
Bob oxiridagi dizayn masalalarini o'zingiz yeching: berilgan talabni sxemaga aylantiring, anti-naqshni toping va tuzating.
Diagrammalarga e'tibor bering β ular dizayn qarorini tezroq singdiradi.
I qism β Asoslar va konseptual modellashtirish
#
Bob
Nima o'rganasiz
01
Ma'lumotlar bazasi dizayni nima va nega muhim
Yomon sxemaning narxi (anomaliya, sekinlik, bug), dizaynning uch bosqichi (konseptual β logik β fizik) va yaxshi sxema belgilari.
02
Talab tahlili va domen modellashtirish
Biznes talabidan model elementlarini ajratish (ot β entity, sifat β atribut, fe'l β bog'lanish), biznes qoidalari va ko'lam.
03
ER-diagramma: entity, atribut, bog'lanish
Entity, atribut turlari, Crow's foot notatsiyasi va to'liq ER-diagramma o'qish hamda chizish.
04
Bog'lanishlar va kardinallik (1:1, 1:N, N:M)
Kardinallik, modallik (ixtiyoriy/majburiy), N:M ni junction jadvalga aylantirish va o'z-o'ziga bog'lanish.
II qism β Relyatsion model va normalizatsiya
#
Bob
Nima o'rganasiz
05
Relyatsion model va kalit turlari
Relyatsion model qoidalari, kalit iyerarxiyasi (super/candidate/primary/foreign) va NULL ning xavfi (uch qiymatli mantiq).
06
Kalit dizayni: natural, surrogate, UUID, kompozit
Natural vs surrogate trade-off, IDENTITY, UUID v4 vs v7 (uuidv7()), kompozit va business kalit.
07
Normalizatsiya I: 1NF, 2NF, 3NF va anomaliyalar
Funksional bog'liqlik, uchta anomaliya va jadvalni 1NF β 2NF β 3NF bo'ylab qadam-baqadam parchalash.
08
Normalizatsiya II: BCNF, 4NF, 5NF va denormalizatsiya
BCNF, ko'p qiymatli bog'liqlik (4NF), 5NF va denormalizatsiya qachon ataylab to'g'ri ekani.
09
Logik modeldan fizik sxemaga
ER β jadval o'tkazish qoidalari, nomlash konvensiyalari va to'liq DDL skript tuzilishi.
III qism β Yaxlitlik, turlar va naqshlar
#
Bob
Nima o'rganasiz
10
To'g'ri ma'lumot turini tanlash
PostgreSQL boy turlari: numeric vs float (pul!), timestamptz, enum, JSONB, array, range, generated column, domain.
11
Yaxlitlik va constraint dizayni
Yaxlitlikni bazada majburlash: CHECK, UNIQUE, EXCLUDE, FK ON DELETE strategiyasi va deferrable constraint.
12
Keng tarqalgan dizayn naqshlari
Soft delete, audit/tarix ustunlari, status modellashtirish, slug, polimorfik bog'lanish va pul+valyuta.
13
Anti-naqshlar: nima qilmaslik kerak
Jaywalking (CSV ustun), EAV, naive tree, god-table, float'da pul, indekssiz FK β alomat β nega yomon β tuzatish.
V qism β Ilg'or modellashtirish
VI qism β NoSQL, analitik va masshtab
#
Bob
Nima o'rganasiz
20
NoSQL ma'lumot modellashtirish
Document/key-value/wide-column/graph qachon, embed vs reference (MongoDB), Redis dizayn va CAP/BASE.
21
Analitik dizayn va ma'lumotlar ombori
OLTP vs OLAP, dimensional modeling, star vs snowflake schema, grain va slowly changing dimensions.
22
Partitioning, sharding va masshtablash
PostgreSQL partitioning (RANGE/LIST/HASH) + pruning, sharding strategiyalari, replication va CAP teoremasi.
23
Migratsiya va sxema evolyutsiyasi
Versiyalangan migratsiya, zero-downtime, expand-contract naqshi va xavfsiz vs lock-oluvchi ALTER.
VII qism β Kapston
#
Bob
Nima o'rganasiz
24
Yakuniy loyiha: tizimni 0 dan loyihalash
Real tizimni talabdan to'liq fizik sxemagacha loyihalash: ER β normalizatsiya β DDL β indeks β partition β migratsiya + ADR.
Muallif
Oqil Imomnazarov β ioqil.uz Β· Telegram Β· YouTube
Kitob bepul tarqatiladi (CC BY-NC-SA 4.0). Savdo qilish taqiqlanadi.