تكامل مرجعي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

التكامل المرجعي هو خاصية للبيانات تشير إلى أن جميع مراجعها صالحة. في سياق قواعد البيانات العلائقية، تتطلب أنه إذا كانت قيمة سمة واحدة (عمود) لعلاقة (جدول) تشير إلى قيمة سمة أخرى (إما ضمن نفس العلاقة أو ضمن علاقة مختلفة)، فيجب أن تكون القيمة المرجعية موجودة.[1]

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

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

التكامل المرجعي التعريفي[عدل]

التكامل المرجعي التعريفي هو إحدى التقنيات في لغة برمجة قواعد البيانات إس كيو إل لضمان تكامل البيانات.

المعنى في إس كيو إل[عدل]

يمكن أن يشير جدول (يسمى الجدول المشير) إلى عمود (أو مجموعة من الأعمدة) في جدول آخر (الجدول المشار إليه) باستخدام مفتاح أجنبي. يجب أن يكون العمود أو الأعمدة المشار إليها في الجدول المشار إليه تحت قيد فريد، مثل مفتاح رئيسي. أيضًا، الإشارة الذاتية ممكنة (ولو أنها غير مطبقة بالكامل في مخدم إم إس إس كيو إل).[3] عند إدراج صف جديد في الجدول المشير، يتحقق نظام إدارة قاعدة البيانات العلائقية (آر دي بي إم إس) من وجود قيمة المفتاح الذي أُدخل في الجدول المشار إليه. إذا لم يكن الأمر كذلك، فلا يوجد إمكانية للإدراج. من الممكن أيضًا تحديد إجراءات دي آر آي في التحديث والحذف، مثل تعليمة كاسكيد (بالانجليزية: CASCADE) (توجيه التغيير أو الحذف في الجدول المشار إليه إلى الجداول المشيرة)، وتعليمة دون إجراء (بالانجليزية: NO ACTION) (إذا أُشير إلى الصف المحدد، لا يُسمح بتغيير المفتاح) أو وضع القيمة لا شيء (بالانجليزية: SET NULL) أو وضع القيمة الافتراضية (بالانجليزية: SET DEFAULT) (ينتج عن تغيير أو حذف مفتاح في الجدول المشير تعيين القيم المرجعية إلى لا شيء (بالانجليزية: NULL)  أو إلى القيمة الافتراضية (بالانجليزية: DEFAULT) إذا كانت محددة.[4]

المراجع[عدل]

  1. ^ Mike Chapple. "Referential Integrity". About.com. مؤرشف من الأصل في 19 نوفمبر 2016. اطلع عليه بتاريخ 20 مارس 2011. Definition: Referential integrity is a database concept that ensures that relationships between tables remain consistent. When one table has a foreign key to another table, the concept of referential integrity states that you may not add a record to the table that contains the foreign key unless there is a corresponding record in the linked table. الوسيط |CitationClass= تم تجاهله (مساعدة)
  2. ^ Coronel et al. (2013). Database Systems 10th ed. Cengage Learning, (ردمك 978-1-111-96960-8)
  3. ^ Microsoft Support (2007-02-11). "Error message 1785 occurs when you create a FOREIGN KEY constraint that may cause multiple cascade paths". microsoft.com. مؤرشف من الأصل في 22 أكتوبر 2012. اطلع عليه بتاريخ 24 يناير 2009. الوسيط |CitationClass= تم تجاهله (مساعدة)
  4. ^ Chigrik, Alexander (2003-08-13). "Managing Users Permissions on SQL Server". Database Journal. مؤرشف من الأصل في 04 نوفمبر 2003. اطلع عليه بتاريخ 17 ديسمبر 2006. الوسيط |CitationClass= تم تجاهله (مساعدة)