مفتاح أجنبي

المفتاح الأجنبي   هو المفتاح الذي يربط جدولين أو أكثر في قاعدة بيانات علائقية معينة.

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

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

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

  (ر.ت الشيء، ر.ت الميزة، اسم الشيء) 
  (ر.ت الميزة، اسم الميزة)

في البداية، يجب تعيين مفاتيح رئيسية في كل من عمود  في ، وكذلك عمود  في ، كما يجب تعيين مفتاح أجنبي في العمود  في  كي يكون مرجعا للعمود  في ، وبالتالي:
 لا يمكن إضافة سطر جديد في  مع  غير موجود أصلا في .
 لا يمكن حذف سطر من ، إذا وفقط إذا كان هناك سطر من  مرتبط بقيمة معينة من  في نفس هذا الجدول.

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

في ماي إس كيو إل، يجب استعمال خاصية إينو دي بي من أجل الحصول على ميزة تعيين مفتاح أجنبي، وذلك لأن الخاصية الافتراضية ماي إيسام لا تحتوي على هذه الميزة.

انظر أيضًا 
 المفتاح المرشح

المراجع 

إس كيو إل
قواعد بيانات
نمذجة البيانات