3NF مقابل BCNF
التسوية هي عملية يتم تنفيذها لتقليل التكرار الموجود في البيانات في قواعد البيانات العلائقية. ستقسم هذه العملية بشكل أساسي الجداول الكبيرة إلى جداول أصغر مع عدد أقل من التكرار. ستكون هذه الجداول الأصغر مرتبطة ببعضها البعض من خلال علاقات محددة جيدًا. في قاعدة بيانات جيدة التوحيد ، سيتطلب أي تغيير أو تعديل في البيانات تعديل جدول واحد فقط. تم تقديم النموذج العادي الثالث (3NF) في عام 1971 من قبل إدغار إف كود ، وهو أيضًا مخترع النموذج العلائقي ومفهوم التطبيع. تم تقديم نموذج Boyce-Codd العادي (BCNF) في عام 1974 بواسطة Codd و Raymond F.بويس
ما هو 3NF؟
3NF هو النموذج العادي الثالث المستخدم في تطبيع قاعدة البيانات العلائقية. وفقًا لتعريف Codd ، يُقال أن الجدول موجود في 3NF ، إذا وفقط إذا كان هذا الجدول في النموذج العادي الثاني (2NF) ، ويجب أن تعتمد كل سمة في الجدول لا تنتمي إلى مفتاح مرشح بشكل مباشر على كل مفتاح مرشح من هذا الجدول. في عام 1982 ، أنتج كارلو زانيولو تعريفًا مختلفًا لـ 3NF. لا تحتوي الجداول التي تتوافق مع 3NF بشكل عام على الانحرافات التي تحدث عند إدراج أو حذف أو تحديث السجلات في الجدول.
ما هو BCNF؟
BCNF (المعروف أيضًا باسم 3.5NF) هو نموذج عادي آخر يستخدم في تطبيع قاعدة البيانات العلائقية. تم تقديمه لالتقاط بعض الحالات الشاذة التي لم يتم تناولها بواسطة 3NF. يُقال أن الجدول موجود في BCNF ، إذا وفقط إذا ، لكل من التبعيات في النموذج A → B غير التافهة ، يكون A مفتاحًا فائقًا. لا يضمن تحليل جدول غير موجود بالصيغة العادية BCNF إنتاج الجداول في نموذج BCNF (مع الحفاظ على التبعيات التي كانت موجودة في الجدول الأصلي).
ما الفرق بين 3NF و BCNF؟
كلا من 3NF و BCNF هما نموذجان عاديان يتم استخدامهما في قواعد البيانات العلائقية لتقليل التكرار في الجداول. في الجدول الموجود بالصيغة العادية BCNF ، لكل تبعية وظيفية غير تافهة للنموذج A → B ، A هي مفتاح فائق بينما ، يجب أن يكون الجدول الذي يتوافق مع 3NF في 2NF ، وكل غير أولي يجب أن تعتمد السمة مباشرة على كل مفتاح مرشح لهذا الجدول. يعتبر BCNF نموذجًا عاديًا أقوى من 3NF وقد تم تطويره لالتقاط بعض الحالات الشاذة التي لا يمكن التقاطها بواسطة 3NF. سيتطلب الحصول على جدول يتوافق مع نموذج BCNF تحليل جدول موجود في 3NF. سيؤدي هذا التحلل إلى عمليات ربط إضافية (أو منتجات ديكارتية) عند تنفيذ الاستعلامات. سيؤدي هذا إلى زيادة الوقت الحسابي. من ناحية أخرى ، سيكون للجداول التي تتوافق مع BCNF عدد مرات تكرار أقل من الجداول التي تتوافق فقط مع 3NF. علاوة على ذلك ، في معظم الأوقات ، من الممكن الحصول على طاولة تتوافق مع 3NF دون إعاقة الحفاظ على التبعية والانضمام بدون خسارة.لكن هذا ليس ممكنًا دائمًا مع BCNF.