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

العلاقات ....سؤال

مغلق
بدأه kingofdark في 7 أغسطس 2004 · 2 رد · 557 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

هذه اول مشاركة لي معكم واتمنى ان تفيدوني

==============================================

السؤال

انا اقوم بتصميم برنامج لإدارة شؤون الطلاب (( مشروع تخرج))

المهم المطلوب فيه

جدول للطلاب

يحتوي على معلومات عامه

id

name

.

.

.

الخ

وجدول آخر للمقررات

يحتوي على

sub_id

name

class1

class2

.

.

.

الخ

حيث class الشعبه

المهم انا اريد فيه ان يقوم الطالب بتسجيل المقررات وكما نعرف فإن الطالب سيأخذ

اكثر من مقرر والمقرر سيأخذ أكثر من طالب

لذلك عملت جدول وسيط به

id

sub_id

وجعلت العلاقة كما في الشكل التالي

db.gif

المهم البرنامج شغال عادي لكن هناك بعض الأمور التي اريد ان اضعها في البرنامج

ووجدت عرقله فيها

مثلا : مقررات القسم A الحد الأعلي لعدد الطلاب في الشعبة الواحدة 20 طالب

والقسم B الحد الأعلى 40 'طالب

يعني بحيث اضع شرط على حقل الشعبة بحيث لايمكن التسجيل لعدد اكبر من المسموح

المشكلة : هي ان كل الشعب يطبق عليها الشرط

يعني لو وضعت الشرط 20 طالب فقط فانه يطبق على جميع مقررات الاقسام

=============================================

فهل اقوم بفصل مقررات الاقسام عن بعضها البعض بحيث كل مقررات قسم في جدول

ام لا .

واذا كان الفصل هو الافضل فهل ابقى العلاقة كما هي ام لا

============================================

هذا جزء من المشكلة التي اواجهها واتمنى ان اجد الحل

========================================

وعليكم ان تتحملوني لأنني كثر الأسئلة

ولكن من لم يسأل لم يتعلم

========================================

اتمنى ممن يرد علي أن يقول لي لماذا افعل كذا ؟ لأنني اريد أن افهم لا ان انسخ والصق

#2

في رأيي ..

أن تقوم بتقسيم جدول المقررات إلى جدولين

الأول : جدول المواد

sub_id

name

MaxStu

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

ليكون التسجيل الحقيقي في الجدول كالتالي :

رقم المادة 1 ---> واسمها A ---> الحد الأعلى 20

الثاني : جدول الشعب

classID

className

ليكون التسجيل الحقيقي في الجدول كالتالي :

رقم الشعبة 1 ---> واسمها calss1

رقم الشعبة 2 ---> واسمها calss2

رقم الشعبة 3 ---> واسمها calss3

رقم الشعبة 4 ---> واسمها calss4

وتستغني عن class1 , class2 ... الخ .. لأن هذا التكرار خطأ فادح في تصميم قواعد البيانات .. يكفي حقل واحد يشملها كلها

العلاقة تكون :

كما هي .. بإضافة جدول الشعب وربطه مع جدول الصلة (الوسيط) واحد لكثير ليكون جدول الصلة كالتالي :

id

sub_id

classID

ليكون التسجيل الواقعي كالتالي :

الطالب أحمد ---> للمادة فقه ---> في class1

هذا مجرد رأي

#3

شكرا اخي احمد الحربي

===========================================

واعتذر عن التأخر في الرد

===========================================

جميل ما ذكرته اخي احمد

ولكن من نظرة اولية ((قبل التدقيق )) احس بأنه سيكون هناك مشكلة ستعترضني

==========================================

ولكن قبل كل شيء اريد ان اعطيك فكرة كاملة عن البرنامج

=============================================

انا اريد البرنامج مثل اي برنامج تسجيل للطلاب داخل الجامعات

يعني يضع في الاعتبار جميع الإحتمالات

مثلا :

مادة برمجة قواعد البيانات ,,,,,,قسم الحاسب ,,,,,,,,شعبة 1,,,,,,عدد الطلاب 20

هذا في الترم الاول

في الترم الثاني سنحتاج لتفريغ الشعبة من الطلاب لتسجيل طلاب آخرين

ايضا :

الطالب نريد عند دخوله للكلية مثلا ...في قسم الحاسب ...ان يسجل له المواد التي يجب ان يدرسها ككل (( الخطة الدراسية كاملة )) ومن ثم في كل فصل يتم تسجيل المواد التابعه لهذا الفصل والمواد التي نجح فيها توضع له نتيجتها والمواد التي رسب فيها او لم يسجلها تظهر كمواد متبقيه عليه عند التسجيل بحيث لايحصل خطأ ويسجل الطالب المادة لمرتين

================================================

انا هنا احاول ان احصر كل شيء عن طريق العلاقات (( بقدر الإمكان ))

لأنني اريد بعد ان ابرمج البرنامج عن طريق الاكسس ان استخدم لغة asp واحوله ليعمل على الانترنت فكل ما كان الأمر محصور كجداول تربط بينها علاقات اصبح من السهل برمجته ليعمل على الانترنت

=============================

هنا ليس شرطا لغة asp والاكسس

============================

لأنني هنا اتكلم عن قاعدة بيانات فإذا تكونت الفكرة بشكل كامل عن الجداول والعلاقات

يمكن بعد ذلك برمجتها على النت باستخدام mysql ولغة php او asp و access

============================================

اتمني ان اكون اوصلت الفكرة

===========================================

هذا فقط جزء بسيط مما اريده

ولكن لايسمح لي الوقت الآن بأن ابين كل شيء في البرنامج

============================================

ولكن سأستمر بتزويدك بكل الفكرة كامله عما قريب ان شاء الله

============================================

وانا شاكر ومقدر لك تعاونك

واعتذر عن الإطاله

والازعاج

========================================

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

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