الفرق بين 3NF و BCNF

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 26 أبريل 2024
Anonim
bcnf normalization in database with example
فيديو: bcnf normalization in database with example

المحتوى


تطبيع هي الطريقة التي يزيل وفرة من علاقة وبالتالي تقليل الإدراج وحذف وتحديث الحالات الشاذة التي تقلل من أداء قواعد البيانات. في هذه المقالة ، سوف نفرق بين شكلين عاديين أعلى ، أي 3NF و BCNF. الفرق الأساسي بين 3NF و BCNF هو ذلك 3NF يحل التبعية متعدية من علاقة وجدول ليكون في BCNF ، يجب أن تبعية الوظيفية التافهة X-> Y في علاقة ، فقط إذا كان X هو المفتاح الفائق.

دعونا نناقش الاختلافات بين 3NF و BCNF بمساعدة مخطط المقارنة المبين أدناه.

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

أساس للمقارنة3NFBCNF
مفهوميجب ألا تعتمد السمة غير الأولية بشكل مؤقت على مفتاح المرشح.لأي تبعية تافهة في علاقة R قل X-> Y ، يجب أن تكون X مفتاحًا فائقًا للعلاقة R.
الاعتماديمكن الحصول على 3NF دون التضحية بجميع التبعيات.قد لا يتم حفظ التبعيات في BCNF.
تقسيميمكن أن يتحقق تحلل ضياع في 3NF.من الصعب تحقيق التحلل بدون ضياع في BCNF.


تعريف 3NF

جدول أو علاقة تعتبر في النموذج العادي الثالث فقط إذا كان الجدول موجودًا بالفعل 2NF وليس هناك غير رئيس الوزراء، صفة، عزا transitively تعتمد على مفتاح مرشح من العلاقة.

لذا ، قبل أن أتحدث عن عملية تطبيع الجدول في 3NF ، اسمح لي بمناقشة مفتاح المرشح. أ مفتاح مرشح يكون الحد الأدنى السوبر الرئيسية أي مفتاح فائق مع الحد الأدنى من السمات التي يمكن أن تحدد جميع سمات العلاقة. لذلك ، في عملية تطبيع الجدول الخاص بك ، أولاً ، أنت تتعرف على مفتاح المرشح لعلاقة معينة. السمات التي تعد جزءًا من مفتاح المرشح هي سمات رئيس الوزراءوالسمات التي ليست جزءًا من مفتاح الترشيح هي سمات غير أولية.

الآن إذا كنا على علاقة R (A ، B ، C ، D ، E ، F) ولدينا تبعيات الوظيفة التالية للعلاقة R.

مراقبة التبعيات الوظيفية ، يمكننا أن نستنتج ذلك AB هو مفتاح المرشح للعلاقة R لأنه باستخدام المفتاح AB ، يمكننا البحث عن القيمة لكل السمة في العلاقة R. أ ، ب يصبح سمات رئيس الوزراء لأنها تجعل معا مفتاح المرشح. الصفات C ، D ، E ، F يصبح غير رئيس الوزراء، سمات لأن أيا منها هو جزء من مفتاح المرشح.


الجدول في 2NF حيث لا توجد سمة غير أساسية تعتمد جزئيًا على مفتاح المرشح

ولكن ، لوحظ التبعية متعدية بين التبعيات الوظيفية المقدمة ، والسمة F لا يعتمد بشكل مباشر على مفتاح المرشح AB. بدلا من ذلك ، السمة F يكون transitively تعتمد على مفتاح المرشح AB عبر السمة د. حتى السمة D لها بعض القيمة التي يمكننا الوصول إليها لقيمة السمة F ، من مفتاح المرشح AB. في حالة أن قيمة السمة D هي NULL ، لا يمكننا أبدًا العثور على / البحث عن قيمة F بمساعدة مفتاح الترشيح AB. هذا هو السبب وراء مطالب 3NF بإزالة التبعية متعدية من العلاقات.

لذلك ، لإزالة هذا التبعية متعدية ، نحتاج إلى تقسيم العلاقة R. بينما تقسيم العلاقة دائمًا ما يضع مفتاح المرشح ، وجميع الخصائص التي تعتمد على مفتاح المرشح في العلاقة الأولى. في العلاقة المقسمة التالية ، سنضع السمة التي تسبب التبعية متعدية وأيضًا السمات التي تعتمد عليها في العلاقة الثانية.

الآن ، يوجد الجدولان R1 و R2 في 3NF لأنه لا توجد تبعية جزئية ومتعددة. علاقة R1 (أ ، ب ، ج ، د ، هـ) لديه مفتاح مرشح AB بينما العلاقة R2 (D ، E) لديها د كمفتاح المرشح لها.

تعريف BCNF

يعتبر BCNF أقوى من 3NF. يجب أن تكون العلاقة R في BCNF 3NF. وأين أ التبعية الوظيفية غير التافهة A -> B يحمل في العلاقة R ، ثم أ يجب أن يكون superkey فيما يتعلق R. كما نعلم ، Super key هو مفتاح يحتوي على سمة واحدة أو مجموعة من السمات التي تحدد السمات الكاملة للعلاقة.

الآن ، دعنا ننتقل إلى مثال لفهم BCNF بطريقة أفضل. دعونا نفترض أن لدينا علاقة صاد (أ ، ب ، ج ، د ، واو)، والتي لديها تبعيات وظيفية التالية.

من خلال مراقبة العلاقة R ، يمكننا أن نقول ذلك أ و BF هي مفاتيح المرشح العلاقة R ، لأنهم وحدهم يمكنهم البحث عن القيمة لكل السمات في العلاقة R. A ، B ، F هي أولي سمات في حين ، C و د هي غير رئيس الوزراء، الصفات. لم يلاحظ أي تبعية متعدية في التبعيات الوظيفية الموجودة أعلاه. وبالتالي ، فإن الجدول R في 3NF.

ولكن هناك تبعية وظيفية واحدة D -> F ينتهك تعريف BCNF ، وفقًا لذلك ، إذا كانت D -> F موجودة بعد ذلك د يجب أن يكون مفتاح السوبر هذا ليس هو الحال هنا. لذلك سوف نقسم العلاقة R.

الآن ، الجداول R1 الثانية R2 في BCNF. علاقة R1 لديه اثنين مرشح مفاتيح أ و ب، التبعية الوظيفية التافهة لـ R1 أي A-> BCD و B -> ACD ، عقد BCNF كـ A و B هي مفاتيح فائقة للعلاقة. علاقة R2 لديها د كما لها مفتاح مرشح كما أن التبعية الوظيفية D -> F تحمل أيضًا لـ BCNF حيث أن D هي مفتاح رئيسي.

  1. تنص 3NF على أنه لا يجب أن تعتمد السمة غير الأولية بشكل مؤقت على مفتاح المرشح الخاص بالعلاقة. من ناحية أخرى ، تنص BCNF على أنه في حالة وجود تبعية وظيفية تافهة X -> Y للعلاقة ؛ ثم X يجب أن يكون مفتاح السوبر.
  2. يمكن الحصول على 3NF دون التضحية بتبعية العلاقة. ومع ذلك ، قد لا يتم الحفاظ على التبعية أثناء الحصول على BCNF.
  3. يمكن تحقيق 3NF دون فقدان أي معلومات من الجدول القديم ، بينما أثناء الحصول على BCNF قد نفقد بعض المعلومات من الجدول القديم.

خاتمة:

BCNF هو مقيد بكثير من 3NF التي تساعد في تطبيع الجدول أكثر. العلاقة في 3NF لديها الحد الأدنى من التكرار اليسار الذي تمت إزالته بواسطة BCNF.