الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ساعدوني في هذا المشروع لمدرسة

مغلق
بدأه MKSoft في 1 نوفمبر 2005 · 2 رد · 664 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

إخواني الكرام محترفي 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)

تم تعديل هذه المشاركة بواسطة MKSoft في 1 نوفمبر 2005 في 22:19

#2

لازم PL-SQL يعني...؟ :rolleyes:

يعني لا تصلح جملة SQL واحدة...؟ B)

بس انتبه اذا كان هذا اختبار في جامعة عليك ان تقنع المصحح انك من كتب الحل.. :lol:

Insert Into Average(Student_ID,GrandTotal,Average)
(Select Student_ID,sum(Sub_Total),avg(Sub_Total)
From
	(select Student_ID,Subject,sum(mark) Sub_Total
	from MARKS
	Group by Student_ID,Subject)
Group By Student_ID)
#3

كل الشكر لك أخي : النجم اللامع

لكن ممكن أن تشرح لي هذا الإجراء أو الجمل كيفية عملها

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…