Sobes.tech
Middle

Nima normalizatsiya?

sobes.tech AI

AIdan javob

Ma'lumotlarni normalizatsiya qilish ma'lumotlar bazalari kontekstida ma'lumotlarni tartibga solish jarayonidir, bu ma'lumotlarning ortiqcha takrorlanishini kamaytirish va ma'lumotlarning yaxlitligini oshirish uchun amalga oshiriladi. Bu katta jadvallarni kichikroq jadvallarga bo'lish va ularni bog'lash orqali amalga oshiriladi.

Asosiy maqsad:

  • Ma'lumotlarning takrorlanishini yo'q qilish.
  • Ma'lumotlarning yaxlitligini oshirish (kiritish, yangilash va o'chirishdagi anomaliyalarni oldini olish).
  • Saqlash va so'rovlarning samaradorligini oshirish (ba'zi hollarda).

Normalizatsiya jarayoni normal shakllar (NF) tamoyillariga asoslangan. Eng keng tarqalganlari:

  • Birinchi normal shakl (1NF): Ma'lumotlarning atomar bo'lishi, takrorlanuvchi ustunlar guruhlarining mavjud emasligi.
  • Ikkinchi normal shakl (2NF): 1NF'da va har bir notekis atribut to'liq barcha asosiy kalitga bog'liq.
  • Uchinchi normal shakl (3NF): 2NF'da va notekis atributlarning o'tkazuvchan funktsional bog'liqliklari yo'q.

Misol:

"Buyurtmalar_Mahsulotlar" jadvali:

Buyurtma ID Buyurtma Sana Mahsulot ID Mahsulot Nomi Mahsulot Narxi Miqdor Mijoz Nomi Mijoz Manzili
1 2023-10-27 101 Telefon 500 1 Ivan Pétrov Pushkina ko'chasi, 10
1 2023-10-27 102 Quloqchin 100 2 Ivan Pétrov Pushkina ko'chasi, 10
2 2023-10-27 101 Telefon 500 1 Maria Ivanova Lermontova ko'chasi, 5

Normalizatsiyadan so'ng (3NFgacha):

"Buyurtmalar" jadvali:

Buyurtma ID Buyurtma Sana Mijoz ID
1 2023-10-27 1
2 2023-10-27 2

"Buyurtma Qatorlari" jadvali:

Qator ID Buyurtma ID Mahsulot ID Miqdor
1 1 101 1
2 1 102 2
3 2 101 1

"Mahsulotlar" jadvali:

Mahsulot ID Mahsulot Nomi Mahsulot Narxi
101 Telefon 500
102 Quloqchin 100

"Mijozlar" jadvali:

Mijoz ID Mijoz Nomi Mijoz Manzili
1 Ivan Pétrov Pushkina ko'chasi, 10
2 Maria Ivanova Lermontova ko'chasi, 5

Ammo, ortiqcha normalizatsiya so'rovlar vaqtida JOINlar sonini oshirishi mumkin, bu esa ishlash tezligini pasaytirishi mumkin. Shuning uchun, ma'lumotlar bazasini loyihalashda, odatda, normalizatsiya darajasi va ishlash tezligi o'rtasida muvozanat qidiriladi. Denormalizatsiya - bu ishlashni yaxshilash uchun maqsadli ravishda normal shakllarni buzish jarayonidir va odatda ortiqcha takrorlanishni qo'shish orqali amalga oshiriladi.