3NF və BCNF Arasındakı Fərq

3NF və BCNF Arasındakı Fərq
3NF və BCNF Arasındakı Fərq

Video: 3NF və BCNF Arasındakı Fərq

Video: 3NF və BCNF Arasındakı Fərq
Video: HDD və SSD yaddaş kartları arasındakı fərq 2024, Iyul
Anonim

3NF vs BCNF

Normallaşdırma, əlaqəli verilənlər bazalarında verilənlərdə mövcud olan artıqlıqları minimuma endirmək üçün həyata keçirilən bir prosesdir. Bu proses əsasən böyük cədvəlləri daha az ehtiyatla daha kiçik cədvəllərə böləcək. Bu kiçik cədvəllər yaxşı müəyyən edilmiş əlaqələr vasitəsilə bir-biri ilə əlaqəli olacaqdır. Yaxşı normallaşdırılmış verilənlər bazasında verilənlərdəki hər hansı dəyişiklik və ya dəyişiklik yalnız bir cədvəlin dəyişdirilməsini tələb edir. Üçüncü Normal Forma (3NF) 1971-ci ildə Edqar F. Codd tərəfindən təqdim edilmişdir, o, həm də relational modelin və normallaşma konsepsiyasının ixtiraçısıdır. Boyce-Codd Normal Forması (BCNF) 1974-cü ildə Codd və Raymond F tərəfindən təqdim edilmişdir. Boyce.

3NF nədir?

3NF əlaqəli verilənlər bazasının normallaşdırılmasında istifadə edilən Üçüncü normal formadır. Codd-un tərifinə görə, cədvəlin 3NF-də olduğu deyilir, əgər bu cədvəl ikinci normal formadadırsa (2NF) və cədvəldəki namizəd açarına aid olmayan hər bir atribut birbaşa olaraq ondan asılı olmalıdır. həmin cədvəlin hər bir namizəd açarı. 1982-ci ildə Carlo Zaniolo 3NF üçün fərqli ifadə edilmiş tərif hazırladı. 3NF-ə uyğun gələn cədvəllərdə ümumiyyətlə cədvələ qeydlər daxil edilərkən, silinərkən və ya yenilənərkən baş verən anomaliyalar yoxdur.

BCNF nədir?

BCNF (həmçinin 3.5NF kimi tanınır) əlaqəli verilənlər bazasının normallaşdırılmasında istifadə edilən başqa bir normal formadır. 3NF tərəfindən həll edilməyən bəzi anomaliyaları tutmaq üçün təqdim edildi. Cədvəlin BCNF-də olduğu deyilir, yalnız və yalnız o halda deyilir ki, A → B formasının qeyri-trivial olan asılılıqlarının hər biri üçün A super açardır. BCNF normal formasında olmayan cədvəlin parçalanması BCNF formasında cədvəllərin istehsalına zəmanət vermir (orijinal cədvəldə mövcud olan asılılıqları qoruyub saxlamaqla).

3NF və BCNF arasındakı fərq nədir?

Həm 3NF, həm də BCNF cədvəllərdə artıqlığı minimuma endirmək üçün əlaqəli verilənlər bazalarında istifadə olunan normal formalardır. BCNF normal formasında olan cədvəldə A → B formasının hər qeyri-trivial funksional asılılığı üçün A super açardır, halbuki 3NF-ə uyğun gələn cədvəl 2NF-də olmalıdır və hər bir əsas olmayan atribut birbaşa həmin cədvəlin hər bir namizəd açarından asılı olmalıdır. BCNF 3NF-dən daha güclü normal forma hesab olunur və 3NF tərəfindən tutula bilməyən bəzi anomaliyaları tutmaq üçün hazırlanmışdır. BCNF formasına uyğun olan cədvəlin əldə edilməsi 3NF-də olan cədvəlin parçalanmasını tələb edir. Bu parçalanma sorğuları yerinə yetirərkən əlavə birləşmə əməliyyatları (və ya Kartezian məhsulları) ilə nəticələnəcək. Bu hesablama vaxtını artıracaq. Digər tərəfdən, BCNF-ə uyğun gələn cədvəllər yalnız 3NF-ə uyğun gələn cədvəllərdən daha az ehtiyata malik olacaq. Bundan əlavə, çox vaxt asılılığın qorunmasına və itkisiz birləşməyə mane olmadan 3NF-ə uyğun bir cədvəl əldə etmək mümkündür. Lakin bu, BCNF ilə həmişə mümkün deyil.

Tövsiyə: