Ma'lumotlar bazasida normalizatsiya nima?
sobes.tech AI
AIdan javob
Ma'lumotlar bazasini normallashtirish — bu ma'lumotlarni relatsion ma'lumotlar bazasida tashkil qilish jarayonidir, bu esa ma'lumotlarning ortiqcha takrorlanishini (duplikatsiyasini) kamaytirish va ma'lumotlarning yaxlitligini oshirishga qaratilgan. Bu katta jadvallarni kichikroq jadvallarga bo'lish va ular orasidagi bog'lanishlarni belgilash orqali amalga oshiriladi.
Normallashtirishning asosiy maqsadi:
- Ma'lumotlar ortiqchasini kamaytirish: Bir xil ma'lumotlarni turli joylarda takrorlashdan saqlanish.
- Ma'lumotlar yaxlitligini oshirish: Ma'lumotlarning aniqligi va muvofiqligini ta'minlash.
- Moslashuvchanlikni ta'minlash: Ma'lumotlar bazasining tuzilmasini o'zgartirish va kengaytirishni soddalashtirish.
Normallashtirish normal shakllar deb nomlangan qoidalar to'plami orqali belgilangan. Eng keng tarqalgan uchta normal shakl:
-
Birinchi normal shakl (1NF):
- Har bir ustun atomar (ajralmas) qiymatlarni o'z ichiga olishi kerak.
- Takrorlanuvchi ustun guruhlari bo'lmasligi kerak.
- Har bir satr unikal bo'lishi kerak (birlamchi kalit orqali).
-
Ikkinchi normal shakl (2NF):
- Jadval 1NF'da.
- Barcha notekis atributlar (birlamchi kalitga bog'liq bo'lmagan ustunlar) to'liq birlamchi kalitga bog'liq bo'lishi kerak (agar u birikma bo'lsa). Qisman bog'liqliklar bo'lmasligi kerak.
-
Uchinchi normal shakl (3NF):
- Jadval 2NF'da.
- Transitiv bog'liqliklar bo'lmasligi kerak. Notekis atributlar boshqa notekis atributlarga bog'liq bo'lmasligi kerak.
Yuqori normal shakllar (BCNF, 4NF, 5NF, 6NF) ham mavjud, ammo odatda 3NF ko'pchilik amaliy maqsadlar uchun etarli deb hisoblanadi.
Misol (soddalashtirilgan):
Mijoz buyurtmalari uchun normalizatsiya qilinmagan jadval:
| Buyurtma ID | Mijoz nomi | Mijoz manzili | Mahsulotlar | Miqdor | Birlik narxi |
|---|---|---|---|---|---|
| 101 | Ivan | Moskva | Noutbuk | 1 | 50000 |
| 101 | Ivan | Moskva | Sichqoncha | 2 | 1000 |
| 102 | Maria | Sankt-Peterburg | Klaviatura | 1 | 3000 |
Normalizatsiya qilinganidan so'ng (masalan, 3NF ga qadar):
Buyurtmalar jadvali:
| Buyurtma ID | Mijoz ID | Buyurtma sanasi |
|---|---|---|
| 101 | 1 | 2023-10-26 |
| 102 | 2 | 2023-10-26 |
Mijozlar jadvali:
| Mijoz ID | Mijoz nomi | Mijoz manzili |
|---|---|---|
| 1 | Ivan | Moskva |
| 2 | Maria | Sankt-Peterburg |
Buyurtma tafsilotlari jadvali:
| Buyurtma tafsiloti ID | Buyurtma ID | Mahsulot ID | Miqdor | Birlik narxi |
|---|---|---|---|---|
| 1 | 101 | 10 | 1 | 50000 |
| 2 | 101 | 20 | 2 | 1000 |
| 3 | 102 | 30 | 1 | 3000 |
Mahsulotlar jadvali:
| Mahsulot ID | Mahsulot nomi |
|---|---|
| 10 | Noutbuk |
| 20 | Sichqoncha |
| 30 | Klaviatura |
Denormalizatsiya — bu normalizatsiya jarayonining teskari bosqichi bo'lib, ba'zan ma'lumotlarni o'qish samaradorligini oshirish uchun ortiqcha takrorlanishni oshirish bilan amalga oshiriladi.