Sobes.tech
Middle

Ma'lumotlar bazalaridagi normal shakllar haqida nima bilasiz?

sobes.tech AI

AIdan javob

Normal shakllari (NF) — bu relatsion bazaning tuzilishini loyihalash uchun qoidalar va tavsiyalar to‘plami bo‘lib, ma’lumotlarning ortiqchasini minimallashtirish va joylashtirish, yangilash va o‘chirishda anomaliyalar oldini olishga qaratilgan.

Asosiy normal shakllar:

  • Birinchi normal shakl (1NF):

    • Har bir atribut (ustun) atomar (bo‘linmaydigan) qiymatlarni o‘z ichiga olishi kerak.
    • Takrorlanuvchi atribut guruhlaridan voz kechish.
    • Har bir satr unikal bo‘lishi kerak (birlamchi kalit mavjud bo‘lishi).
  • Ikkinchi normal shakl (2NF):

    • 1NF da.
    • Har bir kalit bo‘lmagan atribut to‘liq birlamchi kalitga bog‘liq bo‘lishi kerak (agar birlamchi kalit birikma bo‘lsa).
  • Uchinchi normal shakl (3NF):

    • 2NF da.
    • Birlamchi kalitdan transitive bog‘liqliklar yo‘q bo‘lishi kerak (birlamchi kalit bo‘lmagan atribut boshqa birlamchi kalit bo‘lmagan atributga bog‘liq bo‘lmasligi kerak).
  • Boyce-Codd normal shakli (BCNF):

    • 3NF ning yanada qat’iy versiyasi.
    • Har qanday no-trivial $X \to Y$ bog‘liqlikda, $X$ superkalit bo‘lishi kerak.
  • To‘rtinchi normal shakl (4NF):

    • BCNF da.
    • Ko‘p qiymatli bog‘liqliklar yo‘q.
  • Beshinchi normal shakl (5NF):

    • 4NF da.
    • Birlashtirish bog‘liqliklari yo‘q.

Normalizatsiyaning maqsadlari:

  • Ma’lumotlarning ortiqchasini kamaytirish.
  • Anomaliyalarni oldini olish (qo‘shish, yangilash, o‘chirish).
  • Ma’lumotlarning yaxlitligini ta’minlash.
  • Ma’lumotlar bazasining tuzilishini soddalashtirish.

Misol:

Ortib ketgan jadval (1NF da emas):

BuyurtmaID Mahsulot Narx
1 Noutbuk, Sichqoncha 1000, 20
2 Klaviatura 50

Normalizatsiya qilingan jadval (1NF va yuqoriroq):

"Buyurtmalar" jadvali:

BuyurtmaID
1
2

"Buyurtma pozitsiyalari" jadvali:

PozitsiyaID BuyurtmaID Mahsulot Narx
1 1 Noutbuk 1000
2 1 Sichqoncha 20
3 2 Klaviatura 50

Normalizatsiya loyihalashda muhim bosqich bo‘lsa-da, ortiqcha normalizatsiya so‘rovlar paytida qo‘shilishlar sonini oshirishi mumkin, bu esa ishlashga salbiy ta’sir qilishi mumkin. Optimal normalizatsiya darajasini tanlash aniq talablar va kompromisslarga bog‘liq. Ba’zan, ma’lumotlar bazasining ishlashini yaxshilash uchun, ma’lum holatlarda, ma’lumotlar normal shakllarining qoidalarini bilinc bilan buzish orqali denormalizatsiya qilinadi.