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:
-
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ə).
-
İ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.
-
Üçü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.