دعونا نناقش الاختلافات بين 3NF و BCNF بمساعدة الرسم البياني للمقارنة المبين أدناه.
رسم بياني للمقارنة
أساس للمقارنة | 3NF | BCNF |
---|---|---|
مفهوم | لا يجب أن تكون أي سمة غير أساسية تعتمد بشكل انتقالي على مفتاح المرشح. | لأية تبعية تافهة في علاقة R يقول X-> Y ، X يجب أن يكون مفتاح سوبر للعلاقة R. |
الاعتماد | يمكن الحصول على 3NF دون التضحية بكل الاعتماديات. | قد لا يتم الحفاظ على التبعيات في BCNF. |
تفكيك | لا يمكن أن يتحقق التحلل ضياع في 3NF. | من الصعب تحقيق التحلل بدون خسارة في BCNF. |
تعريف 3NF
يعتبر الجدول أو العلاقة في النموذج العادي الثالث فقط إذا كان الجدول بالفعل في 2NF ولا توجد سمة غير أولية تعتمد بشكل انتقائي على المفتاح المرشح للعلاقة.
لذا ، قبل أن أتناول عملية تطبيع جدول في 3NF ، اسمح لي بمناقشة مفتاح الترشيح. مفتاح المرشح هو مفتاح سوبر الحد الأدنى أي مفتاح السوبر مع الحد الأدنى من السمات التي يمكن أن تحدد جميع سمات علاقة. لذلك ، في عملية تطبيع الجدول الخاص بك ، أولا ، يمكنك التعرف على مفتاح مرشح لعلاقة معينة. تعتبر السمات التي تعد جزءًا من المفتاح المرشح سمات رئيسية ، والسمات التي لا تمثل جزءًا من مفتاح المرشح هي سمات غير أساسية .
الآن إذا كنا علاقة R (A ، B ، C ، D ، E ، F) ولدينا تبعيات دالة التالية للعلاقة R.
الجدول في 2NF حيث لا تعتمد أي سمة غير أولية جزئيا على مفتاح المرشح
ولكن ، يتم ملاحظة تبعية متعدية بين التبعيات الوظيفية المقدمة ، لأن السمة F لا تعتمد بشكل مباشر على المفتاح المرشح AB . وبدلاً من ذلك ، تعتمد السمة F بشكل عابر على المفتاح المرشح AB عبر السمة D. يحتوي السمة D على بعض القيمة التي يمكن أن تصل إلى قيمة الخاصية F ، من مفتاح AB المرشح. في حال كانت قيمة السمة D هي NULL ، فلا يمكننا أبداً العثور / البحث عن قيمة F بمساعدة المفتاح AB المرشح. هذا هو السبب في مطالبات 3NF لإزالة التبعية متعدية من العلاقات.
لذلك ، لإزالة هذه التبعية متعدية ، نحتاج إلى تقسيم العلاقة R. بينما قسمة علاقة ما تضع دائمًا مفتاح الترشيح ، وكل السمات التي تعتمد على مفتاح المرشح في العلاقة الأولى. في العلاقة المقسمة التالية ، سنضع السمة التي تسبب التبعية متعدية وكذلك السمات التي تعتمد عليها في العلاقة الثانية.
تعريف BCNF
يعتبر BCNF أقوى من 3NF. يجب أن تكون العلاقة R في be BCNF في 3NF . وحيثما توجد تبعية وظيفية غير تافهة أ-> ب تحمل R ، يجب أن يكون A مفتاحًا فائقًا للعلاقة R. كما نعلم ، فإن المفتاح Super هو مفتاح له سمة واحدة أو مجموعة من السمات التي تحدد ، سمات العلاقة.
الآن ، دعونا ننتقل إلى مثال لفهم BCNF بطريقة أفضل. دعنا نفترض أن لدينا علاقة R (A، B، C، D، F) ، والتي تتبع تبعيات وظيفية.
لكن أي تبعية وظيفية ، أي D -> F ، تنتهك تعريف BCNF ، والتي تنص على أنه إذا كان D -> F موجودًا ، فيجب أن يكون D هو المفتاح الفائق الذي لا ينطبق هنا. لذلك سوف نقسم العلاقة ر.
الاختلافات الرئيسية بين 3NF و BCNF
- تنص 3NF على أنه لا يجب أن تكون السمة غير الأولية متوقفة بشكل انتقالي على المفتاح المرشح للعلاقة. على الجانب الآخر ، تنص BCNF على أنه إذا كان التبعية الوظيفية البسيطة X -> Y موجودة للعلاقة ؛ ثم يجب أن يكون X مفتاحًا فائقًا.
- يمكن الحصول على 3NF بدون التضحية بعلاقة العلاقة. ومع ذلك ، قد لا يتم الحفاظ على التبعية أثناء الحصول على BCNF.
- يمكن تحقيق 3NF دون فقدان أي معلومات من الجدول القديم في حين أننا قد نحصل على بعض المعلومات من الجدول القديم أثناء الحصول على BCNF.
استنتاج:
BCNF هو أكثر تقييدا من 3NF التي تساعد في تطبيع الجدول أكثر. العلاقة في 3NF لديها الحد الأدنى من التكرار المتبقية والتي يتم إزالتها كذلك من قبل BCNF.