غالبا ما تستخدم قيود المفاتيح الخارجية في قواعد البيانات للحفاظ على تكامل البيانات. أنها توفر العلاقات بين الجداول حيث يشير المفتاح الخارجي في جدول واحد المفتاح الأساسي في الآخر.
ومع ذلك ، في بعض الأحيان عند إدراج البيانات أو تحديثها في جدول ، قد يحدث الخطأ "إدراج أو تحديث في الجدول ينتهك قيد المفتاح الخارجي". يحدث هذا الخطأ عندما لا تكون قيمة المفتاح الخارجي في الجدول المرتبط أو تنتهك قيودا أخرى. في مثل هذه الحالات ، من الضروري تنفيذ بعض الإجراءات لحل هذه المشكلة.
أولا ، تحتاج إلى التأكد من أن المفتاح الخارجي يشير إلى قيمة موجودة في الجدول المرتبط. تحقق من أن جميع قيم المفاتيح الخارجية لها قيم مقابلة في الجدول الأصل.
ثانيا ، تحقق من تطابق قيم المفتاح الخارجي مع قيود نوع البيانات والعمود في الجدول الأصل. إذا كانت أنواع البيانات غير متطابقة أو كانت قيم المفاتيح الخارجية تنتهك قيودا أخرى (على سبيل المثال ، ليست فارغة) ، فأنت بحاجة إلى تصحيح البيانات أو تغيير بنية الجدول لتلبية هذه المتطلبات.
أسباب انتهاك قيد المفتاح الخارجي في سكل
يمثل قيد المفتاح الخارجي في سكل علاقة بين جدولين ويضمن أن القيم الموجودة في عمود تشير إلى جدول آخر تتطابق مع القيم الموجودة في عمود المفتاح الأساسي لهذا الجدول.
ومع ذلك ، في بعض الأحيان عند إدراج أو تحديث البيانات في جدول ، قد يحدث خطأ بسبب انتهاك قيد المفتاح الخارجي. فيما يلي بعض الأسباب الشائعة لمثل هذا الانتهاك:
- 1. قيمة غير موجودة في عمود يشير إلى جدول آخر: إذا كان الجدول يحتوي على عمود يحتوي على مفتاح خارجي ، فيجب أن تكون قيمة هذا العمود موجودة في عمود المفتاح الأساسي للجدول المرتبط. في حالة عدم وجود القيمة ، يحدث انتهاك لقيد المفتاح الخارجي عند محاولة إجراء عملية إدراج أو تحديث.
- 2. تغيير قيمة المفتاح الأساسي: إذا تغيرت قيمة المفتاح الأساسي في الجدول المرتبط ، فستفقد جميع السجلات التي تشير إلى هذه القيمة اتصالها وتنتهك قيد المفتاح الخارجي. إذا كنت بحاجة إلى تغيير قيمة المفتاح الأساسي ، فيجب عليك أولا تحديث جميع السجلات ذات الصلة.
- 3. حذف السجلات في الجدول المرتبط: إذا تم حذف السجلات الموجودة في جدول مرتبط والتي تمت الإشارة إليها بواسطة السجلات الموجودة في الجدول الحالي ، فسيتم انتهاك قيد المفتاح الخارجي عند محاولة إجراء عملية إدراج أو تحديث.
- 4. عدم تطابق نوع البيانات: إذا كان المفتاح الخارجي يحتوي على نوع بيانات غير نوع المفتاح الأساسي ، فقد يحدث خطأ عند إجراء عملية إدراج أو تحديث.
في كل حالة من هذه الحالات ، من الضروري التحقق من البيانات وامتثالها للقيود. إذا كانت البيانات لا تفي بقيد المفتاح الخارجي ، فأنت بحاجة إلى تصحيحه أو تحديث السجلات المرتبطة به.
يمكن أن يحدث انتهاك لقيد المفتاح الخارجي أثناء إدخال البيانات أو عمليات التحديث وأثناء عمليات حذف البيانات في جدول مرتبط. لذلك ، من المهم مراقبة سلامة البيانات وضمان الهيكل الصحيح والعلاقات بين الجداول في قاعدة البيانات.
خطأ في طلب الإدراج أو التحديث
عند تنفيذ استعلامات إدراج أو تحديث إلى جدول ، قد يحدث خطأ يشير إلى حدوث انتهاك لقيد المفتاح الخارجي. يحدث الخطأ عندما لا تفي القيمة التي تحاول إدراجها أو تحديثها في الجدول بالشروط التي حددها المفتاح الخارجي.
المفتاح الخارجي هو علاقة بين جدولين حيث تشير قيمة المفتاح الخارجي في جدول واحد إلى قيمة المفتاح الأساسي في الجدول الآخر. تضمن قيود المفاتيح الخارجية سلامة البيانات وتمنع ظهور البيانات غير المتسقة أو غير الواقعية.
إذا حدد طلب الإدراج أو التحديث قيمة مفتاح خارجي غير موجودة في الجدول ، أو إذا كانت قيمة المفتاح الخارجي لا تفي بالقيود ، على سبيل المثال ، عند حذف أو تحديث السجلات ذات الصلة ، يحدث خطأ. يمنع تنفيذ الطلب ويبلغ عن الانتهاك المكتشف.
لإصلاح الخطأ ، تحتاج إلى التأكد من وجود القيمة المدرجة أو المحدثة للمفتاح الخارجي في الجدول المقابل وتفي بالقيود المحددة. إذا كانت القيمة غير موجودة ، يجب عليك أولا إضافتها إلى الجدول.
في حالة وجود قيمة ولكنها لا تفي بالقيود ، يجب تصحيحها إلى قيمة تلبي القيود ، أو تغيير قيود المفتاح الخارجي. قد يشمل ذلك تغيير العلاقات أو استخدام آليات الحذف أو التحديث المتتالية.
بشكل عام ، يمكن تصحيح خطأ في طلب إدراج أو تحديث يتعلق بانتهاك قيد مفتاح خارجي عن طريق فحص البيانات وتحديثها وفقا لذلك. هذا مهم لضمان سلامة البيانات في الجدول والحفاظ على العلاقات الصحيحة بين الجداول.