ورقة عمل قواعد البيانات و SQL مع الإجابات

ورقة عمل مجانية قابلة للطباعة في قواعد البيانات و SQL: 8 مسألة من السهل إلى مستوى الامتحان، مع مفتاح الإجابات. اطبعها أو احفظها بصيغة PDF.

للمعلمين: يمكن طباعتها ونسخها واستخدامها في الصف مجانًا. كل ورقة عمل جديدة لها قيم جديدة ومفتاح إجابات خاص بها. نقدّر إضافة رابط إلى ExamProblems في صفحة مقررك.

الاسم: ____________________   التاريخ: ____________

1.سهلة

ماذا تفعل WHERE country IN ('NL', 'BE', 'DE')؟

  1. Aتُبقي الصفوف التي تحتوي قيمة country فيها على الرموز الثلاثة معًا في آن واحد
  2. Bتُبقي الصفوف التي لا تكون قيمة country فيها في القائمة
  3. Cترتّب الصفوف بترتيب القائمة
  4. Dتُبقي الصفوف التي تساوي قيمة country فيها أي قيمة في القائمة
2.سهلة

ما المفتاح المرشّح (candidate key)؟

  1. Aمجموعة أعمدة مشتركة بين جدولين لربط صفوفهما
  2. Bعمود ينتظر أن يصبح مفتاحًا أجنبيًا
  3. Cأي عمود يحتوي على قيم NULL
  4. Dأصغر مجموعة من الأعمدة تحدد كل صف بشكل فريد
3.سهلة

كيف تختلف UNION ALL عن UNION؟

  1. Aترتّب UNION ALL النتيجة
  2. Bتُبقي UNION ALL الصفوف المكررة
  3. Cتزيل UNION ALL الصفوف المكررة
  4. Dلا تعمل UNION ALL إلا على جدول واحد
4.متوسطة

في جدول employees عمود manager_id يشير إلى موظف آخر. كيف تسرد كل موظف بجوار اسم مديره؟

  1. Aبإنشاء نسخة ثانية من الجدول على القرص
  2. Bبربط جدول employees بنفسه باستخدام اسمين مستعارين
  3. Cبدمج الجدول مع نفسه باستخدام UNION ALL ومرشّح WHERE
  4. Dباستخدام GROUP BY manager_id فقط
5.متوسطة

لماذا تُنشأ الفهارس على الأعمدة؟

  1. Aلتوفير مساحة القرص
  2. Bلتسريع عمليات البحث والربط على تلك الأعمدة
  3. Cلتسريع عمليات الإدراج والتحديث على تلك الأعمدة
  4. Dلمنع قيم NULL
6.متوسطة

ماذا يُرجع SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results؟

  1. Aعدد الطلاب الناجحين والراسبين
  2. Bكل اسم مع التسمية 'pass' أو 'fail' بحسب الدرجة
  3. Cخطأ لأن CASE غير مسموح بها في SELECT
  4. Dالطلاب الناجحين فقط
7.صعبة

ماذا يُظهر EXPLAIN (أو EXPLAIN ANALYZE في PostgreSQL) لاستعلام ما؟

  1. Aخطة التنفيذ التي اختارها المُحسِّن، مثل عمليات المسح وطرق الربط
  2. Bمعنى كل كلمة مفتاحية من SQL في الاستعلام
  3. Cقائمة المستخدمين الذين نفّذوا الاستعلام
  4. Dإعادة كتابة للاستعلام بترميز الجبر العلائقي فقط
8.صعبة

بعد customers LEFT JOIN orders، لماذا تُستخدم COUNT(o.id) بدلًا من COUNT(*) لعدّ الطلبات لكل عميل؟

  1. Aلأن COUNT(*) غير مسموح بها بعد الربط
  2. Bلأن COUNT(*) تعدّ الصف المملوء بـ NULL على أنه 1 للعملاء الذين لا طلبات لهم
  3. Cلأن COUNT(*) تتجاهل الصفوف ذات القيم NULL
  4. Dلأن COUNT(o.id) تعدّ العملاء المميزين فقط

مفتاح الإجابات

  1. 1. D · تُبقي الصفوف التي تساوي قيمة country فيها أي قيمة في القائمة
  2. 2. D · أصغر مجموعة من الأعمدة تحدد كل صف بشكل فريد
  3. 3. B · تُبقي UNION ALL الصفوف المكررة
  4. 4. B · بربط جدول employees بنفسه باستخدام اسمين مستعارين
  5. 5. B · لتسريع عمليات البحث والربط على تلك الأعمدة
  6. 6. B · كل اسم مع التسمية 'pass' أو 'fail' بحسب الدرجة
  7. 7. A · خطة التنفيذ التي اختارها المُحسِّن، مثل عمليات المسح وطرق الربط
  8. 8. B · لأن COUNT(*) تعدّ الصف المملوء بـ NULL على أنه 1 للعملاء الذين لا طلبات لهم

حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.