logo

التبعية متعدية في نظم إدارة قواعد البيانات

لنفكر في العلاقة R(ABC). هنا تُعرف A وB وC بأنها سمة العلاقة R. عندما ينشأ الشرط التالي؛ ثم تحدث التبعية المتعدية في نظام إدارة قواعد البيانات. الشروط هي A → B، B → C. وبالتالي، يصبح الشرط A → C. وبعبارة أخرى، يمكننا القول أنه عندما يتم إنشاء التبعيات بواسطة تبعيتين وظيفيتين، فإن التبعيات الوظيفية تصبح تبعيات متعدية.

ما هي التبعية المتعدية؟

خذ بعين الاعتبار العلاقة R(ABC). هنا تُعرف A وB وC بأنها سمة العلاقة R. عندما ينشأ الشرط التالي؛ ثم تحدث التبعية المتعدية في نظام إدارة قواعد البيانات. الشروط هي A → B، B → C. وبالتالي، يصبح الشرط A → C. في التبعيات الوظيفية المتعدية، يعتمد التابع بشكل مباشر على المحدد.

دعونا نفهم التبعيات المتعدية بمساعدة المثال التالي.

معرف_المؤلف مؤلف كتاب جنسية المؤلف
أ1 أرونداتي روي إله الأشياء الصغيرة الهند
أ1 كيران ديساي وراثة الخسارة الهند
A2 آر كيه نارايان الرجل الآكل من مالغودي الهند

في جدول المؤلف أعلاه، حصلنا على ذلك.

    كتاب → المؤلف:هنا، يتم تحديد سمة المؤلف من خلال سمة الكتاب. إذا كان شخص ما يعرف اسم الكتاب، فيمكنه أيضًا معرفة اسم المؤلف.المؤلف → جنسية_المؤلف:إذا كان شخص ما يعرف اسم المؤلف، فيمكنه أيضًا معرفة جنسية المؤلف.كتاب → المؤلف_الجنسية: إذا كان شخص ما يعرف اسم الكتاب، فيمكنه أيضًا معرفة جنسية المؤلف.

إذا نظرنا عن كثب إلى التبعيات الوظيفية التي تمت مناقشتها أعلاه، نجد النمط التالي.

  • أ → ب و ب → ج ب → ج؛ لذلك، A → CA → C.
  • أ → كتاب، ب → المؤلف ب → المؤلف و ج → جنسية_المؤلف ج → جنسية_المؤلف

لنفترض أننا طبقنا النموذج العادي الثالث (3NF) في جدول المؤلف أعلاه. في هذه الحالة، يجب إزالة التبعيات المتعدية لجدول المؤلف، وتعرف عملية إزالة التبعيات المتعدية لقاعدة البيانات باسم عملية التطبيع.

كيفية تجنب التبعيات متعدية؟

دعونا نفكر في جدول المؤلف أعلاه مرة أخرى ونرى نوع المشكلة التي تنشأ أثناء إنشاء الجدول.

جدول المؤلفين:

معرف_المؤلف مؤلف كتاب جنسية المؤلف
أ1 أرونداتي روي إله الأشياء الصغيرة الهند
أ1 كيران ديساي وراثة الخسارة الهند
A2 آر كيه نارايان الرجل الآكل من مالغودي الهند

يمكن أن يساهم جدول المؤلف في شذوذات البيانات (مثل شذوذات التحديث والإدراج والحذف) وعدم الاتساق. عندما يكون هناك الكثير من التكرار في قاعدة البيانات، تحدث حالات شاذة في البيانات. تحدث حالات شاذة في البيانات أيضًا عندما تكون هناك مشكلة في تحديث البيانات الجديدة وحذفها وإدراجها. على سبيل المثال، في جدول المؤلف-

  • لا يمكننا إضافة مؤلف جديد حتى لا نتمكن من إضافة كتاب إلى الجدول.
  • لا يمكننا حذف المؤلف إلا بعد حذف الكتاب بالكامل من قاعدة البيانات.
  • إذا أردنا حذف كتاب 'إله الأشياء الصغيرة'، فقد تم حذف هوية المؤلف والمؤلف والجنسية أيضًا.

تحدث المشكلات المذكورة أعلاه في أي علاقة تحتوي على تبعيات متعدية.

النموذج العادي الثالث عن طريق إزالة التبعية المتعدية

دعونا نفكر في جدول المؤلف بثلاث سمات (Author_ID، Author، Author_Nationality) وحاول العثور على التبعية المتعدية وإزالتها من هذا الجدول،

جدول المؤلفين:

معرف_المؤلف مؤلف كتاب جنسية المؤلف
أ1 أرونداتي روي إله الأشياء الصغيرة الهند
أ1 كيران ديساي وراثة الخسارة الهند
A2 آر كيه نارايان الرجل الآكل من مالغودي الهند

جدول المؤلف أعلاه ليس في 3NF لأنه يحتوي على تبعية متعدية. دعونا نرى كيف

الفرق بين الجليد والثلج
  • المؤلف → مؤلف_جنسية المؤلف → جنسية_المؤلف
  • معرف_المؤلف → المؤلف

ولذلك فإن التبعية الوظيفية التالية موجودة أيضًا،

  • Authir_ID → Author_Nationality يشكل نمطًا مشابهًا لما ناقشناه أعلاه.

الآن للتخلص من التبعية المتعدية، كل ما يتعين علينا القيام به هو تقسيم جدول المؤلف بطريقة بحيث لا يعتمد Author_ID وظيفيًا على Author_Nationality.

لنقم بإنشاء جدولين، أحدهما يحتوي فقط على { Author_ID, Author} والآخر يحتوي على {Author_Nationality}. وستكون الجداول الجديدة بهذا الشكل

جدول المؤلف

معرف_المؤلف مؤلف
أ1 إله الأشياء الصغيرة
A2 وراثة الخسارة
A3 الرجل الآكل من مالغودي

جدول جنسية المؤلف

مؤلف جنسية المؤلف
أرونداتي روي الهند
كيران ديساي الهند
آر كيه نارايان الهند

الآن لا يحتوي جدول المؤلف الجديد وجدول جنسية المؤلف على أي تبعية متعدية والعلاقة الآن في 3NF.