Sobes.tech
Junior

Verilənlər bazasında normalizasiya nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Veritabanının normallaşdırılması, məlumatların təkrarlanmasını (dublikatını) azaltmaq və məlumatların bütövlüyünü yaxşılaşdırmaq məqsədilə verilənlər bazasında məlumatların təşkil olunması prosesidir. Bu, böyük cədvəllərin kiçik cədvəllərə bölünməsi və aralarındakı əlaqələrin müəyyənləşdirilməsi ilə həyata keçirilir.

Normallaşdırmanın əsas məqsədi:

  • Məlumatların təkrarlanmasının azaldılması: Eyni məlumatların müxtəlif yerlərdə təkrarlanmasının qarşısını almaq.
  • Məlumatların bütövlüyünün yaxşılaşdırılması: Məlumatların dəqiqliyini və ardıcıllığını təmin etmək.
  • Əlçatanlığı təmin etmək: Verilənlər bazasının strukturunda dəyişiklikləri və genişləndirmələri asanlaşdırmaq.

Normallaşdırma, normal formalı adlanan qaydalar toplusu ilə müəyyən edilir. Ən çox yayılmış üç normal forma:

  1. Birinci normal forma (1NF):

    • Hər sütun atomik (bölünməz) dəyərlər içerməlidir.
    • Təkrarlanan sütun qrupları olmamalıdır.
    • Hər sətir unikal olmalıdır (birincil açar vasitəsilə).
  2. İkinci normal forma (2NF):

    • Cədvəl 1NF-dədir.
    • Bütün qeyri-açar atributlar (birincil açar xaricində sütunlar) tam olaraq birincil açara bağlıdır (əgər mürəkkəbdirsə). Qismən asılılıqlar olmamalıdır.
  3. Üçüncü normal forma (3NF):

    • Cədvəl 2NF-dədir.
    • Transitiv asılılıqlar olmamalıdır. Qeyri-açar atributlar digər qeyri-açar atributlara bağlı olmamalıdır.

Daha yüksək normal formalar (BCNF, 4NF, 5NF, 6NF) də mövcuddur, lakin ümumiyyətlə 3NF çox praktiki məqsədlər üçün kifayət edir.

Misal (sadələşdirilmiş):

Müştəri sifarişləri üçün normalizasiya olunmamış cədvəl:

Sifariş ID Müştəri adı Müştəri ünvanı Məhsullar Miqdar Birlik qiyməti
101 Ivan Moskva Noutbuk 1 50000
101 Ivan Moskva Siçan 2 1000
102 Maria Sankt-Peterburq Klaviatura 1 3000

Normallaşdırmadan sonra (məsələn, 3NF-ə qədər):

Sifarişlər cədvəli:

Sifariş ID Müştəri ID Sifariş tarixi
101 1 2023-10-26
102 2 2023-10-26

Müştərilər cədvəli:

Müştəri ID Müştəri adı Müştəri ünvanı
1 Ivan Moskva
2 Maria Sankt-Peterburq

Sifariş detalları cədvəli:

Sifariş detalı ID Sifariş ID Məhsul ID Miqdar Birlik qiyməti
1 101 10 1 50000
2 101 20 2 1000
3 102 30 1 3000

Məhsullar cədvəli:

Məhsul ID Məhsul adı
10 Noutbuk
20 Siçan
30 Klaviatura

Denenormalizasiya, normalizasiya prosesinin tərsidir və bəzən məlumatların oxunma performansını optimallaşdırmaq üçün istifadə olunur, bu isə redundansın artması ilə nəticələnir.