للمعلمين: يمكن طباعتها ونسخها واستخدامها في الصف مجانًا. كل ورقة عمل جديدة لها قيم جديدة ومفتاح إجابات خاص بها. نقدّر إضافة رابط إلى ExamProblems في صفحة مقررك.
الاسم: ____________________ التاريخ: ____________
1.سهلة
ماذا تفعل UNION بنتائج استعلامين SELECT؟
Aتجمعهما في نتيجة واحدة وتزيل الصفوف المكررة
Bتضعهما جنبًا إلى جنب عبر مفتاح
Cتُبقي الصفوف الموجودة في الاستعلام الأول دون الثاني فقط
Dتُبقي فقط الصفوف الموجودة في كليهما
2.سهلة
أي قيد يضمن ألا يُترك عمود فارغًا (NULL) أبدًا؟
ANOT NULL
BUNIQUE
CCHECK NULL
DDEFAULT
3.سهلة
أي صفوف تختار WHERE price BETWEEN 10 AND 20؟
Aالصفوف التي سعرها من 10 إلى 20، بما في ذلك 10 و20
Bالصفوف التي سعرها خارج المدى من 10 إلى 20
Cالصفوف التي سعرها أعلى من 10 وأقل من 20، باستثناء 10 و20
Dالصفوف التي سعرها يساوي 10 أو 20 فقط
4.متوسطة
ما القادح (trigger) في قاعدة البيانات؟
Aشيفرة تُنفَّذ تلقائيًا عند وقوع حدث محدد مثل INSERT أو UPDATE أو DELETE على جدول
Bاستعلام ينفّذه المستخدم يدويًا
Cنوع من الفهارس يسرّع عمليات البحث
Dنسخ احتياطي مجدول لقاعدة البيانات
5.متوسطة
أي استعلام يُرجع عدد الطلبات لكل عميل؟
ASELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
BSELECT DISTINCT COUNT(*) FROM orders
CSELECT customer_id FROM orders WHERE COUNT(*) > 0
DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
6.متوسطة
ماذا تُرجع EXCEPT (وتُسمى MINUS في Oracle)؟
Aجميع الصفوف من الاستعلامين دون مكررات
Bصفوف الاستعلام الثاني التي لا تظهر في الأول
Cالصفوف الموجودة في الاستعلامين
Dصفوف الاستعلام الأول التي لا تظهر في الثاني
7.صعبة
تتطلب صيغة بويس–كود الطبيعية (BCNF) أنه لكل اعتمادية وظيفية غير بديهية X → Y:
Aيحتوي X على NULL
Bيكون X مفتاحًا فائقًا
Cيكون Y مفتاحًا أساسيًا
Dيكون Y ذريًا
8.صعبة
بعد customers LEFT JOIN orders، لماذا تُستخدم COUNT(o.id) بدلًا من COUNT(*) لعدّ الطلبات لكل عميل؟
Aلأن COUNT(*) تعدّ الصف المملوء بـ NULL على أنه 1 للعملاء الذين لا طلبات لهم
Bلأن COUNT(*) تتجاهل الصفوف ذات القيم NULL
Cلأن COUNT(*) غير مسموح بها بعد الربط
Dلأن COUNT(o.id) تعدّ العملاء المميزين فقط
مفتاح الإجابات
1. A · تجمعهما في نتيجة واحدة وتزيل الصفوف المكررة
2. A · NOT NULL
3. A · الصفوف التي سعرها من 10 إلى 20، بما في ذلك 10 و20
4. A · شيفرة تُنفَّذ تلقائيًا عند وقوع حدث محدد مثل INSERT أو UPDATE أو DELETE على جدول
5. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
6. D · صفوف الاستعلام الأول التي لا تظهر في الثاني
7. B · يكون X مفتاحًا فائقًا
8. A · لأن COUNT(*) تعدّ الصف المملوء بـ NULL على أنه 1 للعملاء الذين لا طلبات لهم
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.