قد يفهم مساعد لغوي سؤال كم طلباً بقي مفتوحاً بعد بداية الفصل ويكتب استعلاماً سليماً نحوياً، لكنه يختار عمود الحالة الخطأ أو يخلط بين تاريخ الإنشاء والإغلاق. تشغيله مرة واحدة لا يكشف المشكلة إذا صادف أن أعاد العدد المتوقع. يقترح هذا المشروع من مشاريع تخرج قواعد البيانات وعلوم الحاسوب مختبراً يحول سؤالاً إلى SQL، ثم يختبره على قاعدة تجريبية قابلة للتحكم قبل عرض النتيجة.

اختر نطاقاً يمكن مراجعته

أنشئ قاعدة صغيرة لإعارة أجهزة مختبر: أجهزة، طلبات إعارة، ومستخدمون اصطناعيون، مع قاموس للأعمدة وتعريف واضح لكلمة مفتوح. ابدأ بأسئلة عدّ وترشيح وربط جدولين، ثم أضف استعلاماً مجمعاً إن نجح خط الأساس. لا تربط قاعدة فيها أسماء أو سجلات طلاب حقيقية، ولا تسمح للنموذج باختيار جداول غير مسموحة. كل سؤال في مجموعة الاختبار يحتاج إجابة مرجعية يراجعها إنسان من المخطط وقاعدة البيانات.

عرّف مسبقاً ما يعنيه النجاح: تطابق مجموعة الصفوف، لا مجرد تطابق سلسلة SQL. قد تكون صيغتان مختلفتين متكافئتين، وقد تعيد صيغة خطأ نتيجة صحيحة مصادفة حين تكون البيانات صغيرة. هذا الفرق هو مركز المشروع، وليس سباقاً لعرض مربع محادثة.

اختبر على بيانات ثابتة ومضادة

يمكن للفريق بدء مجموعة مصغرة من أمثلة يكتبها بنفسه، ثم استخدام معيار بحثي مرخص. يشرح معيار BIRD لماذا يعتمد Text-to-SQL على محتوى القاعدة ومعاني القيم، لا أسماء الجداول وحدها. ويعرض Spider 2.0 حالات أوسع تتطلب استخدام مخططات وأدوات. هذه المعايير مرجع للصعوبة؛ لا يلزم تنزيل قواعدها الكبيرة حتى تنجز نسخة جامعية صغيرة.

أنشئ لكل سؤال مجموعة بيانات أساسية، ثم مجموعة مضادة يتغير فيها سجل مؤثر: تاريخ طلب أو حالة عنصر. إذا ظل جواب النموذج ثابتاً مع تغير السجل المفترض أن يؤثر فيه، فقد تجاهل الشرط. وإذا تغير جواب سؤال لا يتعلق بذلك السجل، فقد ربطه ببيانات غير ذات صلة. خزّن نسخ القاعدة وبصمتها لإعادة التشغيل.

مسار توليد مع حدود صلاحيات

يمر السؤال إلى قالب يرفق وصف المخطط والأعمدة المسموحة، ثم يعيد النموذج SQL مع شرح موجز. تحقق من أن الناتج جملة قراءة، وحلله قبل التنفيذ، ونفذه بقاعدة تجريبية معزولة. في SQLite يمكن لطبقة authorizer رفض عمليات تعديل أو جداول غير مدرجة؛ توثيق SQLite يشرح callback هذا. اجعل الاتصال read-only إن أمكن، وحدد مهلة وعدد الصفوف.

لا تعتمد على كلمة SELECT وحدها؛ قد يغير استعلام فرعي أو دالة غير متوقعة معنى التنفيذ. الأفضل قائمة سماح للعمليات والجداول ونسخة مؤقتة قابلة للإتلاف بلا بيانات حساسة. ارفض SQL الذي يفشل في التحليل بدلاً من إصلاحه تلقائياً، وسجل سبب الرفض دون تسجيل سؤال خاص.

مثال يكشف جواباً صحيحاً بالمصادفة

لنفترض أن السؤال يطلب عدد الطلبات غير المعادة بعد أول أكتوبر. تحتوي البيانات الأساسية على طلبين بهذه الصفة، فيولد النموذج استعلاماً يعد كل الطلبات ذات الحالة نشط ويعرض الرقم 2. تبدو النتيجة صحيحة. تضيف المجموعة المضادة طلباً نشطاً بدأ في سبتمبر وأعيد في أكتوبر، وآخر لم يتجاوز موعد إعادته؛ عندئذ يختلف تعريف الحالة عن مقارنة التاريخ. يجب أن يعرض المختبر صفوف النتيجة وSQL والبيانات المؤثرة، ثم يطلب من الطالب مقارنة صياغة السؤال بمعيار الحقيقة المرجعية.

هذا سيناريو تعليمي وليس نتيجة نموذج تم تشغيله. الهدف من البيانات المضادة صنع حالة تفرق بين تفسيرات ممكنة. إذا كانت صياغة السؤال نفسها ملتبسة، خزّن أكثر من تفسير مقبول أو عدّها حالة تتطلب سؤالاً توضيحياً.

قياس التكافؤ والفشل

قارن الناتج على قواعد تحقق مبنية من المثال نفسه: دقة التنفيذ، مطابقة الصفوف، نجاح الحالات المضادة، نسبة الاستعلامات المرفوضة، وزمن التنفيذ. احتفظ بخط يدوي أو نموذج بلا محتوى قاعدة كخط أساس. افصل أسئلة الربط والتجميع عن الترشيح كي يظهر نوع العطل. التطابق النصي بين استعلامين دليل مساعد، لكنه لا يثبت التكافؤ ولا يلتقطه كاملاً.

لا تضع الأسئلة القريبة في التدريب والاختبار كأنها مستقلة. قسم الحالات بحسب المخطط أو نمط السؤال، وشغّل أكثر من صياغة للسؤال نفسه. يراجع شخص النتيجة على قاعدة صغيرة ويثبت سبب قبول الاستعلام أو رفضه. لا تستنتج أداء عاماً من عشرين سؤالاً.

ما الذي لا يجوز أن ينفذه؟

الاستعلام المولد لا يكتسب صلاحية لمجرد أن صياغته مفهومة. لا تضع بيانات حقيقية أو أسرار اتصال في prompt، ولا تتصل بقاعدة الإنتاج. امنع تعديلات البيانات وقراءة الجداول غير المسموحة، وضع حد وقت ومساحة. قد يحتاج السؤال إلى تفسير مؤسسة لا وجود له في المخطط؛ عندها يطلب النظام توضيحاً أو يصرح بعدم الدعم.

استجابة آمنة في قاعدة مختبر لا تعني أن المنتج جاهز للنشر. تجربة صغيرة لا تمثل كل الصلاحيات وقواعد اللغة الطبيعية. اجعل الواجهة تتيح تنزيل حالة الاختبار وإعادة كل خطوة دون تنفيذ أمر خارج النسخة المعزولة.

تسليم مشروع التخرج

يسلم الفريق قاعدة SQLite مولدة، مجموعة أسئلة وإجابات مرجعية، مدقق صلاحيات، شاشة مقارنة، وتقريراً يصنف الحالات التي احتاجت توضيحاً. اذكر النموذج ومزود الخدمة وتاريخ التجربة وبذرة إنشاء البيانات. اربط الفكرة بخدمة قواعد البيانات وواجهات API ومقال مقارنة تغير خطة استعلام SQL، لكن الاختلاف هنا اختبار تفسير السؤال ومسار الاستعلام.

مشاريع تخرج قواعد البيانات لا تحتاج ادعاء أن النظام يفهم كل الأسئلة. نجاح النسخة أن تعرف متى ترجع نتيجة، ومتى تكشف الاختلاف بين إجابتين، ومتى ترفض التنفيذ. هذا معيار يمكن الدفاع عنه أمام لجنة دون إخفاء حدود البيانات أو النموذج.

المصادر

مراجعة المصادر: .

اختبار المثال وحدوده

المثال يوضح اختبار الاستعلام على بيانات صغيرة؛ لا يزعم معدل نجاح نموذج بعينه أو أمان نشره.

مقالات ذات صلة

الخدمة المرتبطة: تنفيذ مشاريع التخرج التقنية.

أرسل متطلبات مشروعك