UNIQUE و CHECK
UNIQUE and CHECK
مفهوم
~18 دقيقة
UNIQUE و CHECK
UNIQUE يمنع تكرار قيمة أو مجموعة قيم. البريد الإلكتروني للمستخدم غالباً unique. CHECK يفرض قاعدة بسيطة مثل price_halalas >= 0 أو quantity > 0. هذه القيود تجعل قاعدة البيانات تحمي نفسها حتى لو أخطأ التطبيق.
لا تترك القواعد المهمة في الواجهة فقط. المستخدم قد يصل من API آخر، أو سكربت إداري، أو migration. القيد داخل قاعدة البيانات هو خط دفاع أخير.
مثال عملي
query.sql
Output:
لو حاولت إدخال سعر سالب أو SKU مكرر، يجب أن ترفض قاعدة البيانات ذلك.
تحدي — Challenge
أنشئ sku UNIQUE وأدخل BK-1 ثم اختره
تحدي — Challenge
حاول إدراج نفس SKU مرتين — لاحظ رسالة الخطأ التي تحتوي UNIQUE