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

دوال النوافذ: الترتيب والمجاميع المتراكمة

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

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

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

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

1) القيم 30، 20، 20، 10 بترتيب تنازلي. ما rank للقيمة 10؟
2) ماذا يحسب العمود الثاني؟
query.sql
SELECT name, sum(stock) OVER () FROM products;
3) لماذا لا نكتب WHERE row_number() OVER (…) = 1؟
4) ROWS BETWEEN 6 PRECEDING AND CURRENT ROW تعطي نافذة من:
5) في Oracle أول 3 صفوف:

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

1) دالة النافذة تقلل عدد الصفوف مثل GROUP BY.
الصواب: خطأ
2) lead يجلب قيمة الصف التالي.
الصواب: صح
3) PARTITION BY يجعل لكل مجموعة نافذة مستقلة.
الصواب: صح
4) row_number يعطي الرقم نفسه للمتعادلين.
الصواب: خطأ
5) sum(x) OVER (ORDER BY d) مجموع متراكم.
الصواب: صح

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

1) دالة النافذة تُكتب مع الكلمة (…)
الإجابة: OVER
2) لتقسيم الصفوف إلى أرباع نستخدم .
الإجابة: ntile(4)
3) قيمة الصف السابق تُجلب بـ (col) OVER (ORDER BY …)
الإجابة: lag

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

1) ما ناتج هذا الاستعلام؟

query.sql
SELECT name FROM (SELECT name, rank() OVER (ORDER BY price DESC) AS r FROM products) t WHERE r = 2;
الناتج الصحيح:
النتيجة · صف واحد
name
جهاز لوحي

2) ما ناتج هذا الاستعلام؟

query.sql
SELECT max(running) FROM (SELECT sum(stock) OVER (ORDER BY id) AS running FROM products WHERE category_id = 1) t;
الناتج الصحيح:
النتيجة · صف واحد
max
23
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

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