اختبار قواعد البيانات
Databases Quiz
اختبار قواعد البيانات — Databases Quiz
وصلت للاختبار الختامي لفصل قواعد البيانات. هذا الاختبار يختبر فهمك لـ:
sqlite3والاستعلامات الآمنة- عمليات CRUD الأربع
- أنماط ORM ومبدأ Repository
- قراءة النتائج وتفسيرها
كل تحدٍّ مستقل — لا تحتاج نتيجة السابق لتحلّ التالي. إذا علقت راجع الدروس المرتبطة.
التحدي الأول — الاتصال والإنشاء
الاستعلامات الآمنة هي أهم مبدأ في التعامل مع قواعد البيانات. أكمل الكود لإنشاء جدول books وإدراج كتابين.
المرجع: درس أساسيات SQLite
التحدي الثاني — القراءة والفلترة
القراءة الصحيحة تعتمد على ORDER BY للحصول على نتائج محددة.
المرجع: درس عمليات CRUD
التحدي الثالث — التحديث والحذف
تحديث وحذف سجلات موجودة مع التحقق من rowcount.
المرجع: درس عمليات CRUD
التحدي الرابع — الاستعلامات المتقدمة
COUNT, MAX, MIN, ORDER BY — استعلامات تجميع وترتيب أساسية.
المرجع: درس أساسيات SQLite
التحدي الخامس — نمط Repository
الجمع بين CRUD وتنظيم الكود في طبقة مستقلة — هذا ما يميّز الكود الاحترافي.
المرجع: درس مقدمة SQLAlchemy
ملخص الفصل — Chapter Summary
أتممت فصل قواعد البيانات. إليك ما تعلمته:
أساسيات SQLite:
sqlite3.connect(':memory:')للاختبار، ملف للإنتاجcursor.execute(sql, params)مع?دائماً — لا استثناءfetchall()للكل،fetchone()للواحدconn.commit()لحفظ التغييرات
عمليات CRUD:
- Create:
INSERT INTO ... VALUES (?, ?)+lastrowid - Read:
SELECT ... WHERE ... ORDER BY ... - Update:
UPDATE ... SET ... WHERE id = ?+rowcount - Delete:
DELETE FROM ... WHERE id = ?+rowcount
SQLAlchemy ORM:
- النموذج التعريفي:
class User(Base): __tablename__ = 'users' - الجلسة:
session.add(),session.commit(),session.query() - قابلية التبديل: تُغيّر
create_engine(...)فقط لتُغيّر قاعدة البيانات
المبدأ الأهم: الاستعلامات الموضعية تُبقي تطبيقك آمناً من SQL Injection — لا تكسر هذه القاعدة أبداً.