احصل على مطابقة
Cambridge IGCSE · 0478

علوم الحاسوب

قواعد البيانات — الورقة 2

الاسم: ____________________التاريخ: 4 أكتوبر 2026
  1. 1.

    اشرح ميزة واحدة لقاعدة بيانات علائقية مقارنة بقاعدة بيانات أحادية الملف لتخزين سجلات الطلاب والمقررات في مدرسة.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن قاعدة البيانات العلائقية تخزن البيانات في جداول منفصلة ومترابطة بدلاً من جدول كبير واحد مكرر.
    • يشرح أن هذا يتجنب تكرار بيانات الطالب نفسها لكل مقرر يأخذه، مما يقلل مساحة التخزين ومخاطر تضارب البيانات.

    ملاحظة الفاحص: يكرر الملف الأحادي البيانات كلما كانت العلاقة واحداً إلى متعدد؛ ويزيل التقسيم إلى جداول مترابطة هذا التكرار.

  2. 2.

    في جدول قاعدة بيانات يخزن سجلات الطلاب، أي حقل الأنسب كمفتاح أساسي؟ أ اسم الطالب ب تاريخ الميلاد ج رقم هوية الطالب د اسم الصف

    [1 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يختار ج: رقم هوية الطالب فريد لكل طالب، بخلاف الحقول الأخرى التي يمكن أن تتكرر.

    ملاحظة الفاحص: يجب أن يكون المفتاح الأساسي فريداً لكل سجل؛ ويمكن أن تتشارك الأسماء وتواريخ الميلاد وأسماء الصفوف أكثر من طالب.

  3. 3.

    يرتبط جدول 'Students' وجدول 'Courses' عبر حقل StudentID موجود في كليهما. حدّد اسم هذا الحقل في جدول Courses، واشرح غرضه.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يحدده كمفتاح أجنبي.
    • يشرح أنه يشير إلى المفتاح الأساسي لجدول Students، فيربط كل سجل مقرر بالطالب الصحيح.

    ملاحظة الفاحص: يشير المفتاح الأجنبي في جدول إلى المفتاح الأساسي في جدول آخر، وهكذا تمثّل قواعد البيانات العلائقية العلاقات بين الجداول.

  4. 4.

    اكتب جملة SQL لاختيار حقلي Name وAge من جدول يُدعى Students، للسجلات التي تزيد فيها قيمة Age عن 16.

    [3 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم SELECT متبوعاً بأسماء الحقول الصحيحة، Name وAge.
    • يستخدم FROM Students لتحديد الجدول الصحيح.
    • يستخدم WHERE Age > 16 لتطبيق الشرط الصحيح.

    ملاحظة الفاحص: ترتيب الجمل في SQL دائماً SELECT ... FROM ... WHERE ...؛ ويسبب الخلط في هذا الترتيب خطأً نحوياً.

  5. 5.

    اكتب جملة SQL لاختيار جميع الحقول من جدول يُدعى Books، مرتبة حسب PublishedYear تنازلياً.

    [3 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم SELECT * لاختيار جميع الحقول.
    • يستخدم FROM Books لتحديد الجدول الصحيح.
    • يستخدم ORDER BY PublishedYear DESC للترتيب حسب الحقل الصحيح تنازلياً.

    ملاحظة الفاحص: يرتب DESC من الأعلى إلى الأدنى؛ وحذفه، أو استخدام ASC، يرتب من الأدنى إلى الأعلى بدلاً من ذلك.

  6. 6.

    اشرح مشكلة واحدة يمكن أن تنشأ إذا خزّن جدول أحادي الملف تفاصيل الطالب الشخصية وصفاً منفصلاً مكرراً لكل مقرر يأخذه.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن تفاصيل الطالب الشخصية (مثل الاسم والعنوان) تتكرر في كل صف خاص بذلك الطالب.
    • يشرح أن هذا يهدر مساحة التخزين ويخاطر بعدم الاتساق إذا حُدِّثت التفاصيل في بعض الصفوف دون غيرها.

    ملاحظة الفاحص: هذا التكرار ومخاطره هما بالضبط ما يهدف تقسيم البيانات إلى جداول منفصلة ومترابطة (التسوية) إلى إزالته.

  7. 7.

    أي نوع بيانات الأنسب لتخزين تاريخ ميلاد طالب بدقة في قاعدة بيانات؟ أ نص ب منطقي (Boolean) ج تاريخ د عدد صحيح

    [1 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يختار ج: يتحقق نوع البيانات Date من قيم اليوم والشهر والسنة ويخزنها بصورة صحيحة.

    ملاحظة الفاحص: يتيح نوع Date المخصص الترتيب والحسابات الزمنية (مثل إيجاد عمر شخص) التي لا يدعمها حقل Text العادي بموثوقية.

  8. 8.

    اشرح لماذا قد يُقيَّد حقل قاعدة بيانات يخزن 'المرحلة الدراسية' لطالب بقائمة قيم محددة مسبقاً بدلاً من السماح بإدخال نص حر.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن تقييد الإدخال بقائمة محددة مسبقاً يتجنب قيماً غير متسقة، مثل الأخطاء الإملائية أو تهجئات مختلفة للمرحلة نفسها.
    • يشرح أن القيم المتسقة تجعل الحقل أسهل وأكثر موثوقية للبحث والتصفية والتحليل.

    ملاحظة الفاحص: القائمة المحددة مسبقاً هي شكل من أشكال التحقق يمنع إدخال بيانات غير صالحة أو غير متسقة من البداية.

  9. 9.

    اكتب جملة SQL لإدراج سجل جديد في جدول يُدعى Students، برقم هوية الطالب 101 والاسم 'Amira' والعمر 15.

    [3 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم INSERT INTO Students لتحديد الجدول الصحيح.
    • يسرد أسماء الحقول بين قوسين: (StudentID, Name, Age).
    • يستخدم VALUES (101, 'Amira', 15) مع وضع النص بين علامتي اقتباس والأرقام بدونها.

    ملاحظة الفاحص: يجب وضع القيم النصية في SQL بين علامتي اقتباس؛ ويجب عدم وضع القيم الرقمية كذلك، وإلا تسبب الجملة خطأً.

  10. 10.

    اكتب جملة SQL لتحديث حقل Age إلى 16 للطالب الذي رقم هويته 101 في جدول Students.

    [3 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم UPDATE Students لتحديد الجدول الصحيح.
    • يستخدم SET Age = 16 لتحديد القيمة الجديدة.
    • يستخدم WHERE StudentID = 101 لاستهداف السجل الصحيح فقط.

    ملاحظة الفاحص: أدرج دائماً جملة WHERE مع UPDATE — فبدونها، سيُحدَّث كل سجل في الجدول، لا السجل المقصود فقط.

  11. 11.

    اكتب جملة SQL لحذف سجل الطالب الذي رقم هويته 101 من جدول Students.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم DELETE FROM Students لتحديد الجدول الصحيح.
    • يستخدم WHERE StudentID = 101 لاستهداف السجل الصحيح فقط.

    ملاحظة الفاحص: كما هو الحال مع UPDATE، فإن نسيان جملة WHERE في جملة DELETE سيحذف كل سجل في الجدول.

  12. 12.

    اكتب جملة SQL لاختيار حقل Name من جدول يُدعى Students، للسجلات التي يكون فيها Age أكبر من 14 ويساوي فيها حقل Grade القيمة 'A' (باستخدام AND).

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم SELECT Name FROM Students لتحديد الحقل والجدول الصحيحين.
    • يستخدم WHERE Age > 14 AND Grade = 'A' للجمع بين الشرطين بصورة صحيحة.

    ملاحظة الفاحص: يتطلب AND أن يكون كلا الشرطين صحيحاً كي يُدرج السجل؛ بينما يُدرج OR سجلاً إذا تحقق أي من الشرطين.

  13. 13.

    اكتب جملة SQL لعدّ عدد السجلات في جدول يُدعى Students.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم دالة التجميع COUNT.
    • يكتب جملة كاملة وصحيحة: SELECT COUNT(*) FROM Students.

    ملاحظة الفاحص: يحسب COUNT(*) كل صف في النتيجة، بصرف النظر عن قيم الحقول المحددة التي يحتويها.

  14. 14.

    اشرح المقصود بالتكامل المرجعي في قاعدة بيانات علائقية، مستخدماً الرابط بين جدول Students وجدول Courses مثالاً.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن التكامل المرجعي يضمن أن قيمة المفتاح الأجنبي في جدول يجب أن تطابق قيمة مفتاح أساسي موجودة في الجدول المرتبط.
    • يطبق ذلك على المثال: لا يمكن لسجل في Courses أن يشير إلى StudentID غير موجود فعلاً في جدول Students.

    ملاحظة الفاحص: يمنع التكامل المرجعي السجلات «اليتيمة» التي تشير إلى شيء غير موجود، فيحافظ على صحة العلاقات بين الجداول.

  15. 15.

    اشرح ماذا يعني أن يحتوي حقل قاعدة بيانات على قيمة NULL.

    [1 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن قيمة NULL تعني أن الحقل لا يحتوي أي بيانات مخزنة فيه على الإطلاق — وهذا ليس مثل الصفر أو نص فارغ.

    ملاحظة الفاحص: تمثل NULL «غير معروف» أو «لم يُدخَل»، وهو معنى مختلف عن قيمة مسجلة تساوي صفراً أو نصاً فارغاً.

  16. 16.

    اشرح، مستخدماً الطلاب والأندية مثالاً، المقصود بعلاقة متعدد إلى متعدد في قاعدة بيانات.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أنه في علاقة متعدد إلى متعدد، يمكن ربط سجل واحد في الجدول الأول بسجلات كثيرة في الجدول الثاني، والعكس صحيح.
    • يطبق ذلك على المثال: يمكن لطالب واحد الانضمام إلى أندية كثيرة، ويمكن لنادٍ واحد أن يضم طلاباً كثراً، لذا لا يستطيع أي جدول وحده تمثيل العلاقة مباشرة.

    ملاحظة الفاحص: تحتاج علاقة متعدد إلى متعدد عادة إلى جدول ثالث رابط لتسجيل كل تركيبة فردية من طالب وناد.

  17. 17.

    اشرح وظيفة واحدة يؤديها نظام إدارة قواعد البيانات (DBMS).

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يحدد وظيفة صحيحة، مثل التحكم في الوصول والصلاحيات، أو الحفاظ على تكامل البيانات، أو توفير أدوات للاستعلام وتحديث البيانات.
    • يشرح بإيجاز كيف تفيد هذه الوظيفة مستخدمي قاعدة البيانات.

    ملاحظة الفاحص: يقع نظام إدارة قواعد البيانات بين المستخدم والبيانات المخزنة الخام، فيدير كيفية إنشائها والوصول إليها وتحديثها وحمايتها.

  18. 18.

    اشرح الغرض من قاموس البيانات عند تصميم قاعدة بيانات.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن قاموس البيانات يسجل تفاصيل عن كل حقل في قاعدة البيانات، مثل اسمه ونوع بياناته وطوله.
    • يشرح أن ذلك يوفر مرجعاً واحداً ومتسقاً لأي شخص يصمم قاعدة البيانات أو يبنيها أو يصونها.

    ملاحظة الفاحص: يوثّق قاموس البيانات بنية قاعدة البيانات نفسها، منفصلاً عن سجلات البيانات الفعلية المخزنة فيها.

  19. 19.

    اشرح كيف يمكن لإضافة فهرس إلى حقل يُبحث فيه كثيراً أن تحسّن أداء قاعدة بيانات.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن الفهرس ينشئ بنية منفصلة ومنظمة تتيح لقاعدة البيانات إيجاد السجلات المطابقة أسرع، دون فحص كل صف.
    • يذكر مقايضة، مثل استخدام الفهرس مساحة تخزين إضافية أو إبطائه قليلاً إدراج البيانات.

    ملاحظة الفاحص: يعمل الفهرس تماماً كفهرس كتاب — فيتيح لك القفز مباشرة إلى المعلومة المناسبة بدلاً من قراءة كل صفحة بالترتيب.

  20. 20.

    اشرح، ببساطة، فيم تُستخدم عملية SQL JOIN عند العمل مع جدولين مترابطين.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن JOIN يدمج صفوفاً من جدولين مترابطين أو أكثر في نتيجة واحدة، بناءً على حقل مشترك (مثل مفتاح مطابق).
    • يقدم مثالاً معقولاً، مثل دمج جدول Students وجدول Courses لعرض كل طالب إلى جانب المقرر المسجل فيه.

    ملاحظة الفاحص: يتيح JOIN الاستعلام عن بيانات موزعة عبر جداول مرتبطة متعددة كما لو كانت جدولاً واحداً مدمجاً.

  21. 21.

    اشرح الغرض من رسم مخطط علاقات الكيانات قبل بناء قاعدة بيانات.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن مخطط علاقات الكيانات يوضح الكيانات المختلفة (مثل Students، Courses) التي ستخزنها قاعدة البيانات وكيفية ارتباطها ببعضها.
    • يشرح أن التخطيط لذلك قبل بناء قاعدة البيانات يساعد على تجنب أخطاء بنيوية وعيوب تصميم لاحقاً.

    ملاحظة الفاحص: مخطط علاقات الكيانات أداة تخطيط تُستخدم قبل بناء قاعدة بيانات، تماماً كما يُستخدم المخطط المعماري قبل تشييد مبنى.

  22. 22.

    اشرح لماذا يكون حقل يسجل ما إذا كان طالب قد دفع عربون رحلة مدرسية الأنسب تخزينه كنوع بيانات منطقي (Boolean).

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن الحقل يمكن أن يكون في إحدى حالتين ممكنتين فقط: دُفع أو لم يُدفع.
    • يشرح أن نوع البيانات المنطقي (صحيح/خاطئ) يطابق هذا تماماً، بينما قد يسمح استخدام النص بإدخالات غير متسقة مثل 'Yes' أو 'yes' أو 'paid'.

    ملاحظة الفاحص: الحقل المنطقي هو الخيار الأنسب كلما كانت البيانات تمتلك فعلاً حالتين ممكنتين فقط، لأنه يمنع إدخالات نصية غير متسقة.

  23. 23.

    اشرح لماذا ينبغي لمدرسة عمل نسخ احتياطي دوري لقاعدة بيانات سجلات طلابها.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يشرح أن النسخة الاحتياطية نسخة منفصلة من البيانات، تُخزَّن بأمان تحسباً لفقدان الأصل أو تلفه أو تضرره.
    • يشرح أنه دون نسخة احتياطية حديثة، يمكن أن تُفقد سجلات طلاب مهمة نهائياً، وهو أمر قد يصعب أو يستحيل إعادة إنشائه.

    ملاحظة الفاحص: ينبغي تخزين النسخة الاحتياطية في موقع مختلف عن البيانات الأصلية، كي لا تتمكن كارثة واحدة (كحريق أو عطل في العتاد) من تدمير كليهما.

  24. 24.

    اكتب جملة SQL لاختيار جميع الحقول من جدول يُدعى Employees، مرتبة أولاً حسب Department ثم حسب Surname، كلاهما تصاعدياً.

    [2 درجة] · بدون آلة حاسبة

    نقاط التصحيح

    • يستخدم SELECT * FROM Employees لاختيار جميع الحقول من الجدول الصحيح.
    • يستخدم ORDER BY Department, Surname للترتيب حسب كلا الحقلين بترتيب الأولوية الصحيح.

    ملاحظة الفاحص: يؤدي سرد الحقول بترتيب بعد ORDER BY إلى الترتيب حسب الحقل الأول أولاً، مستخدماً الحقل الثاني فقط لكسر التعادل ضمن القيمة نفسها للحقل الأول.