اختبار السلامة
Integrity Quiz
اختبار السلامة — Integrity Quiz
القيود ليست ترفاً. هي قواعد العمل داخل قاعدة البيانات. إذا كان السعر لا يكون سالباً، فليكن هناك CHECK. إذا كان البريد لا يتكرر، فليكن UNIQUE. إذا كان الطلب لا يعيش بدون عميل، فليكن foreign key.
مراجعة
الجدول يرفض كوداً فارغاً، تكراراً، أو نسبة خارج النطاق.
لاحظ أن CHECK (percent BETWEEN 1 AND 100) يرفض الصفر عمداً. نسبة خصم 0% ليست خصماً — هي على الأرجح خطأ في الإدخال. إذا وصل كوبون بقيمة 0، يُرفض في قاعدة البيانات قبل أن يصل إلى المستخدم. هذا قرار مجال مدروس لا حذف سهو.
التحدي
أنشئ جدولاً صغيراً للمنتجات يفرض أن السعر غير سالب، ثم أدخل منتجاً صحيحاً واعرض السعر.
مراجعة المفاهيم
التحدي اختبر كتابة القيد. هذه الأسئلة تختبر لماذا يعيش القيد في قاعدة البيانات أصلاً. أجب قبل أن تنظر إلى الشرح.
CHECK (percent BETWEEN 1 AND 100) قرارُ مجالٍ واعٍ: خصم 0% ليس خصماً — هو على الأرجح خطأ إدخال، والسماح به يعني كوبونات ميتة تربك التقارير والعملاء. القيد الجيد يشفّر فهمك للمجال، لا فقط حدود النوع الرقمي.استرجع الآن أسماء القيود نفسها من ذاكرتك — هي مفردات كل CREATE TABLE محترم.
UNIQUE يرفض القيمة المكررة على مستوى قاعدة البيانات — كودا كوبون متطابقان مستحيلان مهما كان مصدر الإدخال. للبريد والأكواد والمعرّفات الطبيعية.CHECK (شرط) يفرض قاعدة عمل على القيمة نفسها — نطاق النسبة، عدم سالبية السعر، صيغة الحالة. هو أقرب القيود إلى «منطق المجال داخل المخطط».