اختبار جاهزية الإنتاج
Production Readiness Quiz
اختبار جاهزية الإنتاج — Production Readiness Quiz
وصلت إلى نهاية مسار SQL. الفكرة التي يجب أن تبقى معك: قاعدة البيانات ليست مكان تخزين فقط، بل حارس للمعنى. القيود تمنع القيم الخاطئة. المعاملات تمنع نصف التغيير. الفهارس تساعد القراءة عندما تقاس بعناية. والاستعلامات الجيدة تجعل قرارات العمل واضحة.
قبل أي تغيير إنتاجي، اسأل: هل لدي نسخة احتياطية؟ هل أعرف rollback؟ هل الاستعلام يستخدم parameters؟ هل القيود تحمي البيانات؟ هل mutation محدود بـWHERE واضح؟ هل الأداء مقاس؟ هذه الأسئلة ليست تعقيداً؛ هي إتقان.
مراجعة نهائية — Capstone
هذا المثال يجمع المهارات كلها: قيود، فهرس، معاملة متعددة الجمل، EXPLAIN QUERY PLAN، وفحص السلامة.
التحدي الأخير
هذا هو الاختبار الذي يجمع المسار كله في عملية إنتاجية واحدة: سجّل طلباً وخفّض المخزون داخل معاملة واحدة، بخصم نسبي (stock - 1) لا بقيمة مكتوبة يدوياً، وبشرط WHERE يمنع الرصيد السالب — ثم اعرض القيمة النهائية. النتيجة الصحيحة 2، لكن الطريقة هي موضوع الاختبار، وليس الرقم.
مراجعة المفاهيم
الكابستون اختبر التنفيذ. هذه الأسئلة تختبر عقلية الإنتاج نفسها — الأدلة قبل الثقة. أجب قبل أن تنظر إلى الشرح.
EXPLAIN QUERY PLAN يريك القرار الفعلي: SEARCH ... USING INDEX يعني الفهرس يعمل، وSCAN يعني مسحاً كاملاً. قِس، لا تفترض.stock = stock - 1 يجعل الحساب يحدث داخل المحرك على القيمة الحالية لحظة التنفيذ، وشرط WHERE stock >= 1 يرفض البيع عند النفاد.' OR '1'='1 تُخزَّن كنص بريء ولا تُنفَّذ كمنطق. دمج المدخلات في نص الاستعلام هو ثغرة الحقن الكلاسيكية، ولا يُغني عنه أي «تنظيف» يدوي للمدخلات.استرجع الآن الأدوات نفسها من ذاكرتك — هي فحوصات ما قبل أي تغيير إنتاجي.
EXPLAIN QUERY PLAN قبل الاستعلام يكشف استراتيجية المحرك — فهرس أم مسح كامل — دون تنفيذ الاستعلام على بياناتك. أول أداة تمسكها عند أي سؤال أداء.PRAGMA foreign_keys = ON; في أول الجلسة هو ما يجعل REFERENCES قيداً حقيقياً لا توثيقاً. لهذا يبدأ به الكابستون أعلاه.ماذا بعد؟
استخدم SQL يومياً مع بيانات صغيرة حقيقية. ابدأ بتقارير قراءة، ثم تعلم mutations في بيئة آمنة، ثم ارفع المستوى إلى فهارس ومعاملات وmigrations. لا تتعامل مع قاعدة البيانات بخفة؛ هي ذاكرة العمل، ومن يحترمها يكتب تطبيقات أهدأ وأقوى.