Verilənlər bazalarında normal formalar haqqında nə bilirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
Normal formalar (NF) — bu əlaqəli verilənlər bazasının strukturunu layihələşdirmək üçün qaydalar və tövsiyələr toplusudur və məlumatların artıq olmasını minimuma endirməyə və əlavə, yeniləmə və silmə zamanı anomaliyaları qarşısını almağa yönəlib.
Əsas normal formalar:
-
Birinci normal forma (1NF):
- Hər atribut (sütun) atomar (bölünməz) dəyərlər içərməlidir.
- Təkrarlanan atribut qruplarından imtina edilməlidir.
- Hər sətir unikal olmalıdır (birincil açar mövcuddur).
-
İkinci normal forma (2NF):
- 1NF-dədir.
- Hər qeyri-açar atribut tam funksional olaraq birincil açara bağlı olmalıdır (birgə açar halında).
-
Üçüncü normal forma (3NF):
- 2NF-dədir.
- Birincil açardan tranzitiv asılılıqların olmaması lazımdır (bir qeyri-açar atribut başqa qeyri-açar atributuna bağlı olmamalıdır).
-
Boyce-Codd normal forması (BCNF):
- 3NF-nin daha sərt versiyasıdır.
- Hər qeyri-trivial $X \to Y$ asılılığı $X$ superaçar olmalıdır.
-
Dördüncü normal forma (4NF):
- BCNF-dədir.
- Çox dəyərli asılılıqların olmaması lazımdır.
-
Beşinci normal forma (5NF):
- 4NF-dədir.
- Birgəlik asılılıqlarının olmaması lazımdır.
Normalizasiya məqsədləri:
- Məlumatların artıq olmasını azaltmaq.
- Anomaliyaları qarşısını almaq (əlavə, yeniləmə, silmə).
- Məlumatların bütövlüyünü təmin etmək.
- Verilənlər bazasının strukturunu sadələşdirmək.
Nümunə:
Artıq məlumat olan cədvəl (1NF-də deyil):
| SifarişID | Məhsul | Qiymət |
|---|---|---|
| 1 | Noutbuk, Siçan | 1000, 20 |
| 2 | Klaviatura | 50 |
Normalizə olunmuş cədvəl (1NF və yuxarı):
"Sifarişlər" cədvəli:
| SifarişID |
|---|
| 1 |
| 2 |
"Sifariş maddələri" cədvəli:
| MaddəID | SifarişID | Məhsul | Qiymət |
|---|---|---|---|
| 1 | 1 | Noutbuk | 1000 |
| 2 | 1 | Siçan | 20 |
| 3 | 2 | Klaviatura | 50 |
Normalizasiya layihələşdirmədə vacib mərhələdir, lakin çox normalizasiya sorğularda birləşmələrin sayını artıraraq performansa mənfi təsir göstərə bilər. Optimal normalizasiya səviyyəsinin seçimi xüsusi tələblər və kompromislərdən asılıdır. Bəzən, performansı artırmaq üçün, bilincə normal formaların qaydalarını pozaraq denormalizasiya istifadə olunur.