Middle
Verilənlər bazaları ilə işləmək kontekstində normalizasiya və denormalizasiya nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Normalizasiya — verilənlər bazasında məlumatların təşkil olunması prosesidir ki, bu da artıq məlumatların təkrarlanmasının qarşısını alır və məlumatların bütövlüyünü artırır. Denormalizasiya — sorğuların performansını yaxşılaşdırmaq üçün verilənlər bazasına artıq məlumatların əlavə olunması prosesidir.
Normalizasiya:
- Prinsiplər: Təkrarlanan qrupların aradan qaldırılması, əlaqəsiz atributlar arasında asılılıqların yoxlanması.
- Normalizasiya formaları (əsaslar):
- 1NF (Birinci normal forma): Sütunlarda atomik dəyərlər, təkrarlanan qrupların olmaması.
- 2NF (İkinci normal forma): 1NF + qismən asılılıqların olmaması.
- 3NF (Üçüncü normal forma): 2NF + tranzitiv asılılıqların olmaması.
- Boyce-Codd Normal Form (BCNF): 3NF-nin daha sərt versiyası.
- Üstünlüklər:
- Məlumatların təkrarlanmasının azaldılması (yer qənaəti).
- Məlumatların ardıcıllığının yaxşılaşdırılması.
- Məlumatların dəyişdirilməsinin sadələşdirilməsi (əlavə, yeniləmə, silmə).
- Çətinliklər:
- Cədvəllərin sayının artması.
- Tam məlumat almaq üçün cədvəllərin birləşdirilməsi lazım ola bilər (JOINlər), bu isə sorğu performansını azalda bilər.
Denormalizasiya:
- Prinsiplər: Məlumatların oxunma sürətini artırmaq üçün normalizasiya qaydalarının bilavasitə pozulması.
- Tipik üsullar:
- Məlumatların təkrarlanması (məsələn, sifariş cədvəlində məhsul adının saxlanması).
- Cədvəllərin birləşdirilməsi.
- Əvvəlcədən hesablanmış toplu dəyərlərin alınması.
- Üstünlüklər:
- Sorğuların performansını artırır (xüsusən, SELECT).
- JOINlərin sayını azaldır.
- Hesabatlar və OLAP sistemləri üçün faydalı ola bilər.
- Çətinliklər:
- Məlumatların təkrarlanmasının artması (yer itkisi).
- Məlumatların uyğunsuzluğu riski.
- Məlumatların dəyişdirilməsini çətinləşdirir (bir neçə yerdə yeniləmək lazım ola bilər).
Normalizasiya və denormalizasiya arasındakı seçim tətbiqin xüsusiyyətlərinə, prioritetlərinə (məlumatların bütövlüyü və ya performans) və sorğuların xarakterinə bağlıdır. Adətən, normalizasiya OLTP sistemlərinə (onlayn tranzaksiyalar) tətbiq edilir və denormalizasiya OLAP sistemlərinə (analitik emal) və ya kritik performans sahələrində istifadə olunur.