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
Output:
هنا cascade قد يكون مقبولاً لأن cart مؤقت. في orders، فكر ألف مرة.
تحدي — Challenge
أدخل cart وcart_item ثم اختر name