1.سهلة
ما عبارة SQL التي تغيّر القيم في صفوف موجودة بالفعل؟
- AREPLACE COLUMN
- BMODIFY
- CUPDATE
- DINSERT
2.سهلة
أي عامل يُستخدم لمطابقة الأنماط النصية البسيطة في جملة WHERE؟
- ACONTAINS
- BSIMILAR
- CLIKE
- DMATCH
3.سهلة
ماذا تفعل COMMIT في المعاملة؟
- Aتقفل قاعدة البيانات بأكملها
- Bتجعل جميع تغييرات المعاملة دائمة
- Cتتراجع عن جميع التغييرات التي أُجريت منذ بدء المعاملة
- Dتبدأ جدولًا جديدًا
4.متوسطة
ماذا يوفر تعبير الجدول المشترك (WITH name AS (...))؟
- Aمستخدمًا جديدًا لقاعدة البيانات
- Bنتيجة مؤقتة مسمّاة يمكن استخدامها داخل عبارة واحدة
- Cفهرسًا على عمود
- Dجدولًا دائمًا يبقى مخزنًا على القرص إلى أن يُحذف
5.متوسطة
في جدول employees عمود manager_id يشير إلى موظف آخر. كيف تسرد كل موظف بجوار اسم مديره؟
- Aبربط جدول employees بنفسه باستخدام اسمين مستعارين
- Bبدمج الجدول مع نفسه باستخدام UNION ALL ومرشّح WHERE
- Cباستخدام GROUP BY manager_id فقط
- Dبإنشاء نسخة ثانية من الجدول على القرص
6.متوسطة
متى تكون WHERE EXISTS (subquery) صحيحة لصف ما؟
- Aعندما يُرجع الاستعلام الفرعي صفًا واحدًا بالضبط
- Bعندما لا يُرجع الاستعلام الفرعي أي قيم NULL
- Cعندما يُرجع الاستعلام الفرعي عددًا أكبر من الصفر
- Dعندما يُرجع الاستعلام الفرعي صفًا واحدًا على الأقل
7.صعبة
ماذا تشترط قاعدة التسجيل المسبق للسجل (write-ahead logging, WAL)؟
- Aيجب تسجيل كل استعلام قبل تحليله
- Bلا يُكتب السجل إلا بعد التعطل
- Cيجب كتابة صفحات البيانات قبل السجل
- Dيجب أن يصل سجل التغيير إلى التخزين المستقر قبل أن تصل صفحة البيانات المتغيرة
8.صعبة
يُسقط الاستعلام FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' على نحو غير متوقع العملاء الذين لا طلبات لهم. لماذا؟
- Aلأن شرط WHERE على o يرفض الصفوف المملوءة بـ NULL، فيحوّله إلى ربط داخلي
- Bلأن الربط يجب أن يستخدم USING بدلًا من ON
- Cلأن status كلمة محجوزة
- Dلأن LEFT JOIN لا تُبقي الصفوف غير المتطابقة أبدًا
مفتاح الإجابات
- 1. C · UPDATE
- 2. C · LIKE
- 3. B · تجعل جميع تغييرات المعاملة دائمة
- 4. B · نتيجة مؤقتة مسمّاة يمكن استخدامها داخل عبارة واحدة
- 5. A · بربط جدول employees بنفسه باستخدام اسمين مستعارين
- 6. D · عندما يُرجع الاستعلام الفرعي صفًا واحدًا على الأقل
- 7. D · يجب أن يصل سجل التغيير إلى التخزين المستقر قبل أن تصل صفحة البيانات المتغيرة
- 8. A · لأن شرط WHERE على o يرفض الصفوف المملوءة بـ NULL، فيحوّله إلى ربط داخلي
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.