1.سهلة
إلى أي جزء من SQL تنتمي GRANT وREVOKE؟
- Aلغة التحكم في البيانات (DCL)
- Bلغة استعلام البيانات (DQL)
- Cلغة معالجة البيانات (DML)
- Dلغة تعريف البيانات (DDL)
2.سهلة
يمكن للعميل تقديم طلبات كثيرة، لكن كل طلب ينتمي إلى عميل واحد بالضبط. ما نوع هذه العلاقة؟
- Aمتعدد إلى متعدد
- Bصفر إلى صفر
- Cواحد إلى متعدد
- Dواحد إلى واحد
3.سهلة
أي دالة تجميعية تعدّ الصفوف؟
- ASUM
- BMAX
- CCOUNT
- DAVG
4.متوسطة
أي استعلام يُرجع عدد الطلبات لكل عميل؟
- ASELECT DISTINCT COUNT(*) FROM orders
- BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- CSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
5.متوسطة
عُرّف مفتاح أجنبي مع ON DELETE CASCADE. ماذا يحدث عند حذف صف أب؟
- Aيُنسخ الصف الأب إلى جدول أرشيف
- Bيُضبط المفتاح الأجنبي في الصفوف الأبناء على NULL تلقائيًا
- Cتُحذف الصفوف الأبناء التي تشير إليه تلقائيًا
- Dيُرفض الحذف دائمًا
6.متوسطة
ما القادح (trigger) في قاعدة البيانات؟
- Aنسخ احتياطي مجدول لقاعدة البيانات
- Bاستعلام ينفّذه المستخدم يدويًا
- Cشيفرة تُنفَّذ تلقائيًا عند وقوع حدث محدد مثل INSERT أو UPDATE أو DELETE على جدول
- Dنوع من الفهارس يسرّع عمليات البحث
7.صعبة
للجدول enrolment(student_id, course_id, student_name, grade) المفتاح (student_id, course_id). أي صيغة طبيعية يخالفها؟
- Aالصيغة الطبيعية الثانية، لأن student_name يعتمد على student_id فقط
- Bالصيغة الطبيعية الثالثة فقط، لأن grade تعتمد على student_name
- Cلا شيء، فهو في BCNF
- Dالصيغة الطبيعية الأولى، لأن عمود grade لا يحمل قيمًا ذرية
8.صعبة
لماذا يُعد NATURAL JOIN محفوفًا بالمخاطر في استعلامات بيئة الإنتاج؟
- Aلأنه يربط على كل عمود يحمل الاسم نفسه، فقد يغيّر عمود جديد النتيجة بصمت
- Bلأنه يُرجع دائمًا ضربًا ديكارتيًا
- Cلأنه يتجاهل المفاتيح الأساسية والأجنبية ولا يُبقي إلا صفوف NULL
- Dلأنه غير مدعوم في أي قاعدة بيانات
مفتاح الإجابات
- 1. A · لغة التحكم في البيانات (DCL)
- 2. C · واحد إلى متعدد
- 3. C · COUNT
- 4. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. C · تُحذف الصفوف الأبناء التي تشير إليه تلقائيًا
- 6. C · شيفرة تُنفَّذ تلقائيًا عند وقوع حدث محدد مثل INSERT أو UPDATE أو DELETE على جدول
- 7. A · الصيغة الطبيعية الثانية، لأن student_name يعتمد على student_id فقط
- 8. A · لأنه يربط على كل عمود يحمل الاسم نفسه، فقد يغيّر عمود جديد النتيجة بصمت
حلول كاملة خطوة بخطوة: تدرّب على هذا الموضوع في examproblems.com.