بسم الله الرحمن الرحيم
إخواني الكرام محترفي Oracle :
أنا أمتلك قاعدة بيانات مكونة من ثلاث جداول لطلاب مدرسة:
الجدول الأول :(بيانات الطلاب)
رقم الطالب هو المفتاح الرئيسي (Primary Key)
إسم الجدول (Student)
رقم الطالب إسم الطالب تاريخ الميلاد ط1 محمد 20/10 ط2 أحمد 15/2
الجدول الثاني:(علامات الطلاب في كل مادة في كل شهر)
رقم الطالب + الشهر + مادة الإمتحان هي المفتاح الرئيسي(Primary Key)
إسم الجدول (Marks)
رقم الطالب الشهر مادة الإمتحان العلامة ط1 يناير الرياضيات 35 ط1 يناير عربي 48 ط2 يناير الرياضيات 42 ط2 يناير عربي 40 ط1 فبراير الرياضيات 30 ط1 فبراير عربي 45 ط2 فبراير الرياضيات 44 ط2 فبراير عربي 47 ط1 مارس الرياضيات 45 ط1 مارس عربي 40 ط2 مارس الرياضيات 40 ط2 مارس عربي 35 . . . . . . . . . . . . . . . . إلى نهاية البيانات
الجدول الثالث:(العلامات النهائية لكل طالب في نهاية العام)
رقم الطالب هو المفتاح الرئيسي(Primary Key)
ملا حظة هامة : هذا الجدول لن يقوم المستخدم بإدخال أي بيانات فيه حيث أن البرنامج سيقوم بإدخال البيانات تلقائيا بناءا على بعض العمليات الحسابية والتي ستتم في الجدول السابق والتي سيتم برمجتها باستخدام لغة PL-SQL
إسم الجدول (Average)
رقم الطالب المجموع الكلي المعدل
المشكلة : أنني لم أستطع بناء برنامج بلغة PL-SQL يقوم بفعل تلك العمليات الحسابية وإدخال النتائج تلقائيا في الجدول الثالث.. لذلك إخواني ساعدوني في عمل برنامج يقوم بالاتي:
1-يقوم بعملية جمع علامات كل طالب في كل امتحان لكل الأشهر
2-جمع العلامات الكلية لكل امتحان حتى تكون العلامة النهائية للطالب
3-ايجاد المعدل العام للطالب
4-ادخال هذه البيانات في الجدول رقم ثلاثة
مثال على ماأريد:
يقوم بعملية جمع علامات الطالب رقم ط1 لكل مادة حيث علاماته في مادة الرياضيات في كل الأشهر هي :
35 + 30 + 45 =110 علامات في مادة الرياضيات
48 + 45 + 40 = 133 علامة في مادة العربي
يقم بجمع العلامات النهائية لكل المواد :
110+133 =243 هذه العلامة النهائية ويتم تخزينه في متغير وليكن sum
يقوم بإيجاد المعدل النهائي:
243 / 2 =121.2 لا يهم النتيجة ويتم تخزينها في متغير وليكن avg
يقوم بإدخال هذه البيانات في الجدول رقم ثلاثة من خلال جملة :
Insert into average values (رقم الطالب , sum,avg)
أرجو أن أكون قد أوصلت الفكرة وأرجو منكم الفائدة ...
كل التوفيق لنا ولكم