شبكة تعلم مع ناو

كيف أسمي قيد FOREIGN KEY وأحذفه باستخدام ALTER TABLE؟

تسمية القيود تجعل أوامر تعديل البنية أوضح وأسهل في الصيانة. نكتب كلمة CONSTRAINT ثم اسمًا نختاره قبل تعريف المفتاح الخارجي. يصف الاسم العلاقة مثل ربط الطلبات بالعملاء، ويساعدنا على تحديد القيد المقصود عند قراءة رسالة خطأ أو إعداد تعديل لاحق على الجدول.

عندما نريد إزالة العلاقة المرجعية، نستخدم ALTER TABLE مع DROP FOREIGN KEY واسم القيد. هذه العملية تزيل التحقق المرجعي، لكنها لا تحذف عمود العلاقة ولا الصفوف الموجودة في الجدول. لذلك يجب التمييز بين حذف القيد وحذف العمود أو حذف البيانات نفسها.

مثال

CREATE TABLE customers (id INT PRIMARY KEY);
CREATE TABLE orders (
  id INT PRIMARY KEY,
  customer_id INT,
  CONSTRAINT fk_orders_customer
    FOREIGN KEY (customer_id) REFERENCES customers(id)
);
ALTER TABLE orders DROP FOREIGN KEY fk_orders_customer;

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

باختصار: سمِّ العلاقة باستخدام CONSTRAINT، واحذف تحققها باستخدام DROP FOREIGN KEY متبوعًا باسم القيد.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.