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

إنشاء الفهارس وإدارتها

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

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

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

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

1) أفضل فهرس لـ WHERE customer_id = ? ORDER BY order_date:
2) هل يستفيد هذا الاستعلام من فهرس (customer_id, order_date)؟
query.sql
SELECT * FROM orders WHERE order_date = '2025-09-01';
3) أي فهرس يناسب شرطًا يتكرر على 2% من الجدول مثل status = 'new'؟
4) INCLUDE في الفهرس:
5) في MySQL الفهرس الجزئي:

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

1) ترتيب الأعمدة في الفهرس المركّب لا يهم.
الصواب: خطأ
2) الفهرس المركّب (a, b) يفيد شرطًا على a وحده.
الصواب: صح
3) الفهرس الجزئي أصغر من الفهرس الكامل.
الصواب: صح
4) CREATE INDEX CONCURRENTLY يوقف الكتابة على الجدول.
الصواب: خطأ
5) الفهرس يمكن قراءته بالعكس لخدمة ORDER BY … DESC.
الصواب: صح

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

1) لحذف فهرس نكتب ثم اسمه.
الإجابة: DROP INDEX
2) الفهرس الذي يحمل شرط WHERE يسمّى .
الإجابة: جزئيًّا
3) لإعادة بناء فهرس نستخدم .
الإجابة: REINDEX

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

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

query.sql
CREATE UNIQUE INDEX ux_cat ON categories (lower(name));SELECT count(*) FROM pg_indexes WHERE tablename = 'categories';
الناتج الصحيح:
النتيجة · صف واحد
count
3

2) كم طلبًا جديدًا (new) في القاعدة الصغيرة؟

query.sql
SELECT count(*) FROM orders WHERE status = 'new';
الناتج الصحيح:
النتيجة · صف واحد
count
3
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

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