طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 122 · برمجة قواعد البيانات
تقييم الدرس 22

التفكير بالمجموعات بدل الحلقات

أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس

أسئلة التقييم

تقييم الدرس 22: التفكير بالمجموعات بدل الحلقات. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) أي أسلوب أسرع لتحديث 100 ألف صف بقاعدة واحدة؟
2) ما المكافئ بأمر واحد لهذه الحلقة؟
query.sql
DO $$ DECLARE r record; BEGIN  FOR r IN SELECT id FROM customers WHERE city = 'مكة' LOOP    UPDATE customers SET city = 'جدة' WHERE id = r.id;  END LOOP;END $$;
3) لإدخال الطلبات الملغاة في جدول أرشيف دفعة واحدة:
4) متى تبقى الحلقة مناسبة؟
5) في Oracle المعالجة الجماعية في الكود الإجرائي بـ:

2السؤال الثاني: صح أم خطأ

1) UPDATE … FROM يحدّث جدولًا من نتيجة استعلام آخر.
الصواب: صح
2) CASE لا يُستخدم داخل UPDATE.
الصواب: خطأ
3) غياب الفهرس يزيد بطء الحلقة صفًّا بصف.
الصواب: صح
4) الحلقة دائمًا أوضح من أمر SQL واحد.
الصواب: خطأ
5) العملاء بلا طلبات يضيعون في JOIN العادي؛ LEFT JOIN يحفظهم.
الصواب: صح

3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة

1) لإدخال نتيجة استعلام نكتب INSERT INTO t … ;
الإجابة: SELECT
2) لاختيار قيمة حسب شرط داخل الأمر نستخدم .
الإجابة: CASE
3) للتحديث من استعلام في PostgreSQL: UPDATE t SET … (SELECT …) s WHERE …
الإجابة: FROM

4السؤال الرابع: أسئلة عملية

1) ما ناتج هذا الكود؟

query.sql
UPDATE products SET stock = stock + CASE WHEN category_id = 1 THEN 10 ELSE 0 END;SELECT sum(stock) FROM products WHERE category_id = 1;
الناتج الصحيح:
النتيجة · صف واحد
sum
53

2) كم صفًّا في الأرشيف؟

query.sql
CREATE TABLE archive AS SELECT * FROM orders WHERE false;INSERT INTO archive SELECT * FROM orders WHERE status IN ('new', 'cancelled');SELECT count(*) FROM archive;
الناتج الصحيح:
النتيجة · صف واحد
count
4
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس