AzLearn

Foreign Keys و Cascades

Foreign Keys and Cascades

مفهوم ~19 دقيقة

Foreign Keys و Cascades

Foreign key يمنع الصف من الإشارة إلى صف غير موجود. هذا يحمي العلاقات. لكن ماذا يحدث إذا حذفت الصف الأصلي؟ هنا تظهر خيارات مثل ON DELETE RESTRICT, ON DELETE CASCADE, وON DELETE SET NULL.

CASCADE قوي وخطر. إذا حذفت عميلًا، قد تُحذف طلباته تلقائياً. هذا قد يكون مناسباً لبيانات مؤقتة، لكنه غالباً غير مناسب للطلبات والمدفوعات. لا تستخدم cascade إلا عندما يكون حذف التابعين صحيحاً تجارياً.

مثال عملي

query.sql

هنا cascade قد يكون مقبولاً لأن cart مؤقت. في orders، فكر ألف مرة.

تحدي — Challenge