أنواع الربط في أنظمة إدارة قواعد البيانات: THETA، والربط الداخلي، والربط الخارجي، والربط المتساوي

⚡ ملخص ذكي

تُعدّ عملية الربط في أنظمة إدارة قواعد البيانات عملية ثنائية تجمع صفوفًا من جدولين أو أكثر باستخدام مفاتيحها الأساسية والأجنبية. وتنقسم عمليات الربط إلى ربط داخلي، يُعيد الصفوف المتطابقة فقط، وربط خارجي، يحتفظ بالصفوف غير المتطابقة ويملأ الفراغات بقيم فارغة.

  • 🔗 الغرض الأساسي: تقوم عملية الربط بدمج الجداول ذات الصلة في مجموعة نتائج واحدة بناءً على شرط الربط.
  • 🎯 صلة داخلية: يُرجع فقط الصفوف التي تُحقق الشرط في كلا الجدولين؛ وهو نوع الربط الافتراضي.
  • 📐 ثيتا و إيكوي: يستخدم الربط من نوع ثيتا أي عامل مقارنة؛ بينما يستخدم الربط من نوع EQUI المساواة فقط.
  • 🔄 وصلة طبيعية: يطابق السمات ذات الأسماء المتطابقة ويزيل العمود المكرر.
  • ⬅️ ترك صلة خارجية: يحتفظ بكل صف من الجدول الأيسر، ويملأ الفراغات حيث لا يوجد تطابق في الجدول الأيمن.
  • ➡️ المفصل الخارجي الأيمن: يحتفظ بكل صف من الجدول الأيمن، ويملأ الفراغات حيث لا يوجد تطابق في الجدول الأيسر.
  • 🌐 الانضمام الخارجي الكامل: يحتفظ بجميع الصفوف من كلا الجدولين بغض النظر عن التطابق.

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

ما هو الربط (Join) في نظام إدارة قواعد البيانات (DBMS)؟

انضم إلى نظام إدارة قواعد البيانات (DBMS). هي عملية ثنائية تسمح لك بدمج عملية الربط مع عملية الاختيار في عبارة واحدة. الهدف من إنشاء شرط الربط هو دمج البيانات من جدولين أو أكثر. يتم ربط الجداول باستخدام مفاتيحها الأساسية و مفاتيح خارجية.

أنواع الانضمام

هناك نوعان أساسيان من الصلات في نظام إدارة قواعد البيانات:

  1. الصلات الداخلية: ثيتا، الطبيعية، EQUI
  2. المفاصل الخارجية: يسار، يمين، كامل

يعرض الجدول أدناه جميع أنواع الربط قبل شرح كل نوع بمثال.

انضم إلى أكثر من سياسات الإرجاع والاستبدال صفوف غير متطابقة
داخلي (ثيتا / إكو / طبيعي) الصفوف المطابقة للشرط في كلا الجدولين إسقاط
الجانب الخارجي الأيسر جميع الصفوف اليسرى بالإضافة إلى المباريات محفوظ من اليسار، فارغ على اليمين
الحق الخارجي جميع الصفوف اليمنى بالإضافة إلى المباريات محفوظ من اليمين، لا شيء على اليسار
خارجي كامل جميع الصفوف من كلا الجدولين حُرم من كليهما، وحُرم من أي شيء حيثما كان مفقودًا

صلة داخلية

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

الربط الداخلي، أو الربط المتساوي، هو ربط يعتمد على المقارنات ويستخدم مقارنات المساواة في شرط الربط. مع ذلك، إذا استخدمت عوامل مقارنة أخرى مثل ">"، فلا يمكن تسميته ربطًا متساويًا. وينقسم الربط الداخلي إلى ثلاثة أنواع فرعية:

  • ثيتا ينضم
  • صلة طبيعية
  • الانضمام إلى EQUI

ثيتا انضم

ثيتا انضم تتيح لك هذه الخاصية دمج جدولين بناءً على الشرط المُمثَّل بالرمز ثيتا. تعمل عمليات الربط ثيتا مع جميع عوامل المقارنة، ويُرمز لها بالرمز θ. الحالة العامة لعملية الربط تسمى الربط ثيتا.

بناء الجملة:

A ⋈θ B

يمكن استخدام أي شروط في معايير الاختيار في عملية الربط ثيتا.

خذ بعين الاعتبار الجداول التالية.

الجدول أ الجدول ب
العمود 1 العمود 2 العمود 1 العمود 2
1 1 1 1
1 2 1 3

فمثلا:

A ⋈ A.column 2 > B.column 2 (B)
أ ⋈ أ.العمود 2 > ب.العمود 2 (ب)
العمود 1 العمود 2
1 2

انضم إلى EQUI

انضم إلى EQUI يتم ذلك عندما يستخدم الربط ثيتا شرط التكافؤ فقط. يُعد الربط المتساوي (EQUI) أصعب عملية يمكن تنفيذها بكفاءة في RDBMSوهذا أحد الأسباب التي قد تؤدي إلى مشاكل في أداء نظام إدارة قواعد البيانات العلائقية.

فمثلا:

A ⋈ A.column 2 = B.column 2 (B)
أ ⋈ أ. العمود 2 = ب. العمود 2 (ب)
العمود 1 العمود 2
1 1

الانضمام الطبيعي (⋈)

انضمام طبيعي لا يستخدم هذا النوع من الربط أي عامل مقارنة. في هذا النوع من الربط، يجب أن تتطابق أسماء السمات ونطاقها. أما في الربط الطبيعي، فيجب أن يكون هناك سمة مشتركة واحدة على الأقل بين العلاقتين.

يقوم هذا النظام بعملية اختيار تُحقق المساواة بين السمات التي تظهر في كلا العلاقتين، ويزيل السمات المكررة.

على سبيل المثال: انظر إلى الجدولين التاليين.

C
في مربع
2 4
3 9
D
في مكعب
2 8
3 18
C ⋈ D
ج ⋈ د
في مربع مكعب
2 4 8
3 9 18

الانضمام الخارجي

An الانضمام الخارجي لا يشترط هذا النوع من الربط وجود سجل مطابق لكل سجل في الجدولين المرتبطين. في هذا النوع، يحتفظ الجدول بكل سجل حتى في حال عدم وجود سجل مطابق آخر. أنواع الربط الخارجي الثلاثة هي:

  • ترك صلة خارجية
  • حق الانضمام الخارجي
  • وصلة خارجية كاملة

الانضمام الخارجي الأيسر (أ ⟕ ب)

ترك صلة خارجية تُعيد هذه الدالة جميع الصفوف من الجدول الموجود على اليسار، حتى لو لم يتم العثور على أي صفوف مطابقة في الجدول الموجود على اليمين. وعندما لا يتم العثور على سجل مطابق في الجدول الموجود على اليمين، تُعيد الدالة قيمة فارغة (null).

ترك صلة خارجية

انظر إلى الجدولين التاليين.

A
في مربع
2 4
3 9
4 16
B
في مكعب
2 8
3 18
5 75
A Left Outer Join B
أ ⟕ ب
في مربع مكعب
2 4 8
3 9 18
4 16 -

وصلة خارجية يمنى (أ ⟖ ب)

حق الانضمام الخارجي تُعيد هذه الدالة جميع الأعمدة من الجدول الموجود على اليمين، حتى لو لم يتم العثور على أي صفوف مطابقة في الجدول الموجود على اليسار. في حال عدم وجود أي تطابقات في الجدول الأيسر، تُعيد الدالة قيمة فارغة (null). الربط الخارجي الأيمن هو عكس الربط الأيسر.

حق الانضمام الخارجي

A Right Outer Join B
أ ⟖ ب
في مكعب مربع
2 8 4
3 18 9
5 75 -

وصلة خارجية كاملة (أ ⟗ ب)

في باقة وصلة خارجية كاملة، يتم تضمين كافة الصفوف من كلتا العلاقتين في النتيجة، بغض النظر عن حالة المطابقة.

على سبيل المثال:

A Full Outer Join B
أ ⟗ ب
في مربع مكعب
2 4 8
3 9 18
4 16 -
5 - 75

الأسئلة الشائعة

تُعيد عملية الربط الداخلي فقط الصفوف المتطابقة في كلا الجدولين. أما عملية الربط الخارجي فتحتفظ أيضاً بالصفوف غير المتطابقة من أحد الجدولين أو كليهما، وتملأ الجانب المفقود بقيمة فارغة (null).

يمكن استخدام أي عامل مقارنة في عملية الربط من نوع ثيتا، مثل أكبر من أو أصغر من. أما الربط من نوع EQUI فهو ربط من نوع ثيتا يقتصر على عامل المساواة، لذا فهو يطابق القيم المتساوية فقط.

يتطابق كلا النوعين من الربط بناءً على التساوي، لكن الربط الطبيعي يطابق تلقائيًا الأعمدة ذات الأسماء المتطابقة ويزيل العمود المكرر. أما الربط المتساوي (EQUI) فيحدد الشرط صراحةً ويحتفظ بكلا العمودين.

نعم. بناءً على المخطط والسؤال، يمكن للذكاء الاصطناعي اختيار نوع الربط والمفاتيح، على سبيل المثال، الربط الخارجي الأيسر للاحتفاظ بالعملاء الذين ليس لديهم طلبات. تأكد من النتيجة، لأن الربط الخاطئ يُغير عدد الصفوف.

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

تلخيص هذه التدوينة بـ: