📌 فهم قيد FOREIGN KEY في SQL: دليل شامل للمبتدئين
FOREIGN KEY (المفتاح الخارجي) هو أحد أهم القيود في SQL الذي يساعدنا على إنشاء علاقات بين الجداول المختلفة في قاعدة البيانات. فكر فيه كجسر يربط بين جدولين! 🌉
🔍 ما هو FOREIGN KEY؟
المفتاح الخارجي هو حقل (أو مجموعة حقول) في جدول يشير إلى PRIMARY KEY في جدول آخر. هذا يخلق علاقة بين الجدولين ويضمن أن البيانات تبقى متسقة ومرتبطة بشكل صحيح.
مثال بسيط:
لنفترض أن لدينا جدولين: الطلاب و الكورسات. يمكننا ربطهما باستخدام FOREIGN KEY.
🛠️ كيفية إنشاء FOREIGN KEY
هناك طريقتان رئيسيتان لإنشاء المفتاح الخارجي:
الطريقة الأولى: أثناء إنشاء الجدول
CREATE TABLE الطلبات (
order_id INT PRIMARY KEY,
product_id INT,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES العملاء(customer_id)
);
هنا أنشأنا علاقة بين جدول الطلبات و العملاء عبر حقل customer_id.
الطريقة الثانية: بإضافة القيد لجدول موجود
ALTER TABLE الطلبات
ADD FOREIGN KEY (customer_id)
REFERENCES العملاء(customer_id);
📊 مثال عملي متكامل
لننشئ مثالاً واقعياً بجدولين متصلين:
-- جدول العملاء (الجدول الأب)
CREATE TABLE العملاء (
customer_id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
-- جدول الطلبات (الجدول الابن)
CREATE TABLE الطلبات (
order_id INT PRIMARY KEY,
order_date DATE,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES العملاء(customer_id)
);
في هذا المثال، لا يمكن إضافة طلب إلا إذا كان customer_id موجوداً مسبقاً في جدول العملاء. ✅
⚠️ قواعد هامة يجب تذكرها
- الجدول المرجعي يجب أن يكون له PRIMARY KEY
- نوع البيانات يجب أن يتطابق بين الحقلين
- لا يمكن حذف سجل من الجدول الأب إذا كان مرتبطاً ببيانات في الجدول الابن
- القيم المسموحة في FOREIGN KEY يجب أن تكون موجودة في الجدول المرجعي
🎯 فوائد استخدام FOREIGN KEY
- سلامة البيانات: تمنع إدخال بيانات غير صحيحة
- الترابط: تحافظ على العلاقات بين الجداول
- التنظيم: تجعل قاعدة البيانات أكثر تنظيماً وسهولة في الاستعلام
- الكفاءة: تحسن أداء الاستعلامات باستخدام JOIN
💡 نصائح عملية
- استخدم أسماء واضحة ومتوافقة بين الجداول
- اختر أنواع بيانات متطابقة تماماً
- فكر في العلاقات قبل إنشاء الجداول
- اختبر العلاقات ببيانات نموذجية صغيرة
🎓 اختبر معلوماتك
السؤال 1 من 30% أكملت
ما هو الغرض الرئيسي من قيد FOREIGN KEY في SQL؟
آخر تحديث: ٢٩ أبريل ٢٠٢٦
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال
جاري تحميل التعليقات...