7.5 SQL - FOREIGN KEY
القيد SQL FOREIGN KEY
القيد FOREIGN KEY يُستخدم لربط جدولين معًا.
القيد FOREIGN KEY في جدول يُشير إلى PRIMARY KEY في جدول آخر، لضمان التكامل المرجعي (referential integrity).
✅ لماذا نستخدم FOREIGN KEY؟
لضمان أن القيم في العمود المُشار إليه في الجدول الثاني تكون قائمة فعلاً في الجدول الرئيسي (المصدر).
✅ الصيغة (Syntax):
🔸 عند إنشاء جدول جديد:
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
CustomerID int,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
🔸 أو بتسمية القيد:
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
CustomerID int,
CONSTRAINT fk_customer FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
🔧 إضافة FOREIGN KEY باستخدام ALTER TABLE:
ALTER TABLE Orders
ADD FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
أو مع تسمية القيد:
ALTER TABLE Orders
ADD CONSTRAINT fk_customer FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
❌ حذف قيد FOREIGN KEY:
ALTER TABLE Orders
DROP CONSTRAINT fk_customer;
📌 ملاحظات مهمة:
- اسم القيد يمكن أن يكون مخصصًا باستخدام
CONSTRAINT constraint_name. - قيد
FOREIGN KEYيمنع إدخال قيمة غير موجودة في الجدول المرجعي. - عند حذف صف من الجدول الرئيسي، يتم رفض الحذف إذا كان هناك صف مرتبط في الجدول التابع (ما لم تُستخدم خيارات مثل
ON DELETE CASCADE).
تعليقات
إرسال تعليق