ما هو التبعية متعدية في قاعدة البيانات

تجنب التبعيات متعدية للمساعدة في ضمان التطبيع

التبعية متعدية في قاعدة بيانات هي علاقة غير مباشرة بين القيم في نفس الجدول الذي يسبب تبعية وظيفية . لتحقيق معيار التطبيع للنموذج Normal III (3NF) ، يجب إزالة أي تبعية متعدية.

وبحكم طبيعتها ، يتطلب التبعية متعدية ثلاثة أو أكثر من السمات (أو أعمدة قاعدة البيانات) التي لها تبعية وظيفية بينها ، وهذا يعني أن العمود A في الجدول يعتمد على العمود B خلال عمود وسيط C.

دعونا نرى كيف قد يعمل هذا.

مثال تبعية متعدية

المؤلفون

Author_ID مؤلف كتاب Author_Nationality
Auth_001 أورسون سكوت كارد لعبة اندر ل الولايات المتحدة الامريكانية
Auth_001 أورسون سكوت كارد لعبة اندر ل الولايات المتحدة الامريكانية
Auth_002 مارجريت اتوود حكاية خادمة كندا

في المثال AUTHORS أعلاه:

لكن هذا الجدول يقدم تبعية متعدية:

تجنب التبعيات متعدية

لضمان النموذج العادي الثالث ، دعنا نزيل التبعية متعدية.

يمكننا البدء عن طريق إزالة عمود الكتاب من جدول الكتاب وإنشاء جدول كتب منفصل:

BOOKS

Book_ID كتاب Author_ID
Book_001 لعبة اندر ل Auth_001
Book_001 أطفال العقل Auth_001
Book_002 حكاية خادمة Auth_002

المؤلفون

Author_ID مؤلف Author_Nationality
Auth_001 أورسون سكوت كارد الولايات المتحدة الامريكانية
Auth_002 مارجريت اتوود كندا

هل هذا حلها؟ لنفحص اعتمادياتنا الآن:

جدول الكتب :

جدول AUTHORS :

نحتاج إلى إضافة جدول ثالث لتطبيع هذه البيانات:

بلدان

Country_ID بلد
Coun_001 الولايات المتحدة الامريكانية
Coun_002 كندا

المؤلفون

Author_ID مؤلف Country_ID
Auth_001 أورسون سكوت كارد Coun_001
Auth_002 مارجريت اتوود Coun_002

الآن لدينا ثلاثة جداول ، مع استخدام مفاتيح خارجية للربط بين الجداول:

لماذا التبعيات متعدية هي تصميم قاعدة بيانات سيئة

ما هي قيمة تجنب التبعيات متعدية للمساعدة في ضمان 3NF؟ دعنا نفكر في الجدول الأول مرة أخرى ونرى المشكلات التي ينشئها:

المؤلفون

Author_ID مؤلف كتاب Author_Nationality
Auth_001 أورسون سكوت كارد لعبة اندر ل الولايات المتحدة الامريكانية
Auth_001 أورسون سكوت كارد أطفال العقل الولايات المتحدة الامريكانية
Auth_002 مارجريت اتوود حكاية خادمة كندا

يمكن أن يساهم هذا النوع من التصميم في تشوهات البيانات وعدم التناسق ، على سبيل المثال:

هذه ليست سوى بعض الأسباب التي تجعل التطبيع ، وتجنب التبعيات متعدية ، وحماية البيانات وضمان الاتساق.