الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مشكلة فى ER اثناء تحليل نظام شئون الطلبه

Featured Replies

بتاريخ:

واجهتني مشكلة أثناء عمل ER لنظام شئون الطلبة والامتحانات بادارة تربية وتعليم
المشكلة في الملف المرفق
أرجو أن أجد رد سريع من الخبراء

relation.doc

بتاريخ:

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

ما فهمته هو انه لديك 3 جداول
1- جدول البيانات الاساسية للمدارس ( رقم المدرسه pk - اسم المدرسه - ..)
2- جدول البيانات الاساسية للطالب ( رقم الطالب PK _ اسم الطالب - رقم المدرسه الحالية FK - ... )
3- جدول نتائج الطلاب ( رقم الطالب pk - العام الدراسي PK + رقم المدرسة التى كان بها الطالب وقت التقدم للامتحان + درجة مادة العربي + درجة مادة العلوم + ... .)

----
- لم يتم ذكر فى اى جدول سيتم تسجيل معلومة رقم الصف الدراسي (الصف الرابع مثلا ) .. وانما ذكر العام الدراسي 2007 .. لماذا ؟

- يوجد اقتراح ..

- يتم تكوين جدول البيانات الاساسية للطالب .. بدون رقم المدرسة .

- مع بداية كل عام دراسي جديد يتم انشاء سجل جديد للطالب .. تلقائيا واستنتاجا من بيانات العام الدراسي السابق ..
.. مع ملاحظة تجهيز الصف الدراسي الجديد وايضا العام الدراسي الجديد ..
مكون من ( رقم الطالب - العام الدراسي - الصف الدراسي - رقم المدرسه ) وسيكون المفتاح رقم الطالب + العام الدراسي
وبالتالى يمكن الاحتفاظ بسجلات تاريخيه للطالب مع كل صف دراسي جديد ...
ويمكن من خلالها تعديل رقم المدرسة الحالية (الجديده) .. اذا تطلب الامر ذلك ..
وسيكون رقم المدرسة الخاصة بالطالب لنفس العام الدراسى غير متكررة ... not redundancy
وبالتالى ممكن ان يكون جدول نتائج الامتحانات كالتالى :
رقم الطالب + العام الدراسي + درجات مادة العربي + درجة مادة العلوم + .... )
وسيكون رقم الطالب + العام الدراسي .. الاثنين معا primary key وايضا forigen key للجدول الوسيط المعد سابقا .

يوجد اقتراح اخر ..
بان تكون الجداول كما هى فى السؤال سابقا .. مع استبعاد رقم المدرسه من جدول نتائج الامتحانات
مع انشاء جدول جديد يحتوى على ارقام الطلبة الذين تم تغيير مدرستهم فقط ( بالطبع سيكون عدد السجلات بالجدول قليل )
ويكون الجدول مكون من ( رقم الطالب + العام الدراسي أو الصف الدراسي + رقم المدرسة )
مع اجراء ربط العلاقات اللازمه مع الجداول الاساسيه

وهذه مجرد اقتراحات .. حسب فهمى للموضوع ...

سؤال اخر .. خاص بجدول الدرجات لماذا تم تثبيت اعمدة ( دين - عربي - ... ) للمواد الدراسية ... هل هذه المواد المحدده يتعامل معها كافة الصفوف الدراسية للمراحل التعليمية المختلفه ) اى ان المواد التى تدرس للصف الاول مثل مواد الصف الثانى ومواد الصف الثالث مثل مواد الصف السادس ؟ مجرد سؤال ...

مع تمنياتى بالتوفيق

بتاريخ:
  • كاتب الموضوع

شكراً يا أخ أمجد جزيل الشكر جاري دراسة مقترحاتك الرائعة
وبالنسبة لسؤالك - حتى تكون أكثر فهماً للموضوع ولأستفيد من نصائحك-
رأيت أن أضع المواد في أعمدة ثابتة رغم انها ليست هي نفسها لكل الصفوف على أن يتم ادخال درجات الطالب في المواد التي يمتحنها فقط والباقي يبقى فارغاً والسبب أنه إذا اردت عمل كل مادة كسجل مستقل سيصبح كم البيانات مهول جداً كل عام ( لكل طالب حوالي 9 مواد )
----------------------
أحد الاقتراحات كانت بفصل كل فرقة دراسية على حدة في جدول مستقل لوضع المواد الخاصة بها فيه لكنه لم يلاق استحساناً
-----------------------------------------

وسيكون رقم الطالب + العام الدراسي .. الاثنين معا primary key وايضا forigen key للجدول الوسيط المعد سابقا

لأي شئ سيكون primary key
-------------------------------------------
سأرسل لك فكرة أكثر وضوحاً حتى يمكن تفهم الأمر
أشكرك مرة أخرى وأرجو ألا تمل من أسئلتي

تم تعديل بواسطة armia2006

بتاريخ:
  • كاتب الموضوع

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

بتاريخ:
  • كاتب الموضوع

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

بتاريخ:

اعتقد ان تثبيت عدد معين من الاعمدة .. لكل مادة دراسية عمود... مع اختلاف الصفوف الدراسيه .. ليس هو الحل الامثل

- فى حالة وجود عدد مواد دراسية اقل لصف دراسي معين .. سيتم ترك تلك الاعمدة غير مستغلة .. بمفهوم المساحة التخزينيه .
- فى حال تطلب الامر اضافة مادة دراسية جديده .. بعد مرور عام او عامين .. اى تطلب اضافة عمود جديد ... سيتم اعادة تصميم الجداول وبالطبع الشاشات والتقارير .
- هل اسماء المواد الدراسية متشابه لكل الصفوف الدراسية ( المشتركة بالجدول ) وبالتالى ترتيب الاعمدة سيكون له اهميه لمعرفة اسم المادة من ترتيب العمود او اسمه ..

- عند تسجيل نتائج الامتحانات .. ماهى طريقة التسجيل التى ستستخدم .. هل تسجل درجات الطالب .. لكل المواد .. فى نفس الوقت وبنفس الشاشه .. أم ان درجات المواد تسجل مادة ثم بعد ذلك تسجيل درجات مادة اخرى .. ( مفهوم الامان للدرجات ) .

- باستخدام مفهوم تثبيت الاعمده .. هل سيكون هناك مرونه وسرعة تنفيذ فى استخراج التقارير والاحصائيات على مستوى كل مادة تعليميه.

- ماهى الطريقه المقترحه.. اذا تطلب الامر تسجيل .. درجات الترم الاول ودرجات الترم الثانى ... هل سيتم اضافة اعمده اخرى أو جدول جديد مشابه ..

الاقتراح :
- جدول الطلبة ( رقم الطالب - الاسم - ... )
- جدول رموز المراحل التعليمية ( رمز المرحلة - اسم المرحلة )
- جدول رموز الصفوف الدراسية ( رمز الصف - اسم الصف - رمز المرحلة fk)
- جدول درجات الطلبة ( رقم الطالب - العام الدراسي - الصف الدراسي - رمز المادة - الدرجة - ... )
مفتاح الجدول ( رقم الطالب - العام الدراسي - الصف الدراسي - رمز الماده )
أو اى علاقات تتناسب مع تقسيم الجداول حسب رؤيتكم للموضوع ...

مع تمنياتى بالتوفيق

بتاريخ:

من راى الغاء العلاقة بين جدول الطلاب و جدول المدرسة و الغاء عمود school id عند ادخال المادة و الطالب و المدرسة و فى حالة نقل الطلاب الى اكثر من مدرسة لن تكون مشكلة و لمعرفة الطالب فى اى مدرسة تكون اخر مدرسة تم الأمتحان بها

بتاريخ:
  • كاتب الموضوع

الأخ zainezaki
ليست المشكلة في معرفة اسم آخر مدرسة لكن المشكلة في معرفة المدرسة السابقة عندما كان في مرحلة سابقة وعموماً تم حل هذه المشكلة بفكرة الأخ أمجد بارك الله فيه
---------------------------------------------
الأخ أمجد أولاً أشكرك جداً على تعاونك الرائع
اقتنعت بكلامك كثيراً من حيث تعديل جدول الدرجات لاضافة مادة أو خلافه ..
== لا أعرف ماذا تقصد بمفهوم تأمين الدرجات ولكن الفكرة أن المدرسة تتقوم بارسال كشوف بها اسم الطالب وأمامه درجاته الخاصة وعليه من الأسهل لمن يقوم بعملية الادخال أن يدخل درجات الطالب كلها ثم الطالب التالي ( مجرد فكرة ) ولكن هذه يمكن حلها
== ===
المشكلة التي تواجهني
المشروع هو لعمل قاعدة بيانات لمديرية تربية وتعليم تتبعها عدة ادارات وكل ادارة تتبعها عدة مدارس
اذا اتبعت اقتراحك بشأن ادخال الدرجات لكل مادة سيصبح عندي في جدول الدرجات لكل طالب عدد كبير من السجلات
لو افترضنا أن الطالب يدرس في العام 10 مواد دراسية
== سيكون للطالب في العام الواحد 10 سجلات وعلى مدار مراحله الدراسية ( 9 سنوات ابتدائي واعدادي ) سيكون لكل طالب 90 سجل في هذا الجدول ( بفرض أنه لم يرسب في أي عام )
ولك ان تتخيل كم البيانات لمدرسة كاملة وبالتالي لادارة تتبعها عدة مدارس وبالتالي أيضاً لمديرية تتبعها عدة ادارات
هل سيكون هذا الكم كبيراً وقد يؤدي إلى ضعف أداء قاعدة البيانات
==أما فكرة تثبيت الأعمدة فستجعل لكل طالب 9 سجلات فقط ( في مقابل 90 في الحالة السابقة )
أنا أريد رأيك ورأي أهل الخبرة أي الطريقتين أفضل بناءً على ما تم طرحه الآن
أم أن هناك اقتراح آخر يحل هذه المشكلة
أرجو سرعة الرد وأشكركم جميعاً على تعاونكم

تم تعديل بواسطة armia2006

بتاريخ:
  • كاتب الموضوع

ER.docلم يعطني أحد رأيه
المشكلة بالتفصيل في الملف المرقفق هنا

بتاريخ:
  • كاتب الموضوع

حسناً
حيث أنني لم أتلق ردود
يمكنني أن أرد على نفسي
--------------------------------
الأخ العزيز armia2006
عندي اقتراح قد يفيدك
يمكن تقسيم المواد الدراسية على عدة جداول بدلاً من جدول واحد
بحيث يحتوي كل جدول على مجموعة من المواد التي تدرس لمجموعة معينة من الفرق
أي المواد المشتركة في نفس الفرق توضع مع بعضها
اوضح كلامي بمثال
العربي والانجليزي والخط والدين والكمبيوتر هي مواد أساسية تدرس لجميع المراحل
توضع في جدول مستقل
الدراسات والعلوم تدرس للفرق من الرابع وحتى الثالث الاعدادي --> توضع معاً في جدول واحد
وهكذا
وبذلك نكون قد تفادينا مشكلة وجود أعمدة فارغة في الجداول كما قال الأخ أمجد
-------
بالنسبة لموضوع اضافة مادة
أعتقد أن هذا لا يمثل مشكلة كبيرة لأن المواد التي تضاف هي مواد موجودة أساساً
مثلاً اضافة اللغة الفرنسية للمرحلة الاعدادية هذا لا يمثل مشكلة لأن اللغة الفرنسية ستكون موجودة في جداولك لأنها تدرس في المرحلة الثانوية ومدارس اللغات
إذن في هذه الحالة كل ما في الأمر أن سيتم اضافة درجات الطالب في جدول هذه المادة
أما اذا تمت اضافة مادة أخرى جديد تماماً كاللغة الايطالية مثلاً
فبكل بساطة ماذا ستفعل وزارة التربية والتعليم لتطبيق المادة
ستقوم اعداد منهج
طباعة كتب - تعيين معلمين جدد - تعديل الخطة السنوية - تعديل الكشوف - تعديل الجداول - تغيير توزيعات المنهج لتتناسب مع المادة المضافة ... وهكذا
ليس هناك ما يعيب اضافة إلى ما سبق أن يتم تعديل قاعدة البيانات
لأن مثل هذه الأمور لا تحدث كل يوم أو حتى كل عام
ادرس هذه الفكرة جيدأً ثم أخبرني
واتمنى أن اعرف رأي أعذاء المنتدى في هذه الفكرة
شكراً

بتاريخ:
  • كاتب الموضوع

أشكرك يا أخ armia2006
وجاري تجربة الفكرة وهي تبدو جيدة

بتاريخ:

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

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

ثالثا :
الحل الذى اقترحته (انت) حول اعداد اكثر من جدول للدرجات حسب مجموعات مواد دراسية
يجب ان يكون مرتبط بكل مرحلة دراسية ( ابتدائى - اعدادى - ثانوى ) ..
وليس حسب طبيعة المواد هل هى مواد اساسية ام لا ... ( كما ذكرت انت سابقا) أو هل هى مادة مشتركة ام لا ؟

فى حالة انشاء جداول الدرجات حسب المرحلة الدراسية ... سيكون هنا تجانس فى نوعية المواد وايضا فى عددها ( الى حد ما )

يمكن التنفيذ بشرط ان يكون هناك جدول رئيسى يحتوى على بيانات الطالب المسجل فى العام الدراسي .. اى انه يجب ان يحتوى على مفتاح ( رقم الطالب + العام الدراسي + ... + ... )
- وهذا الجدول موجود STUDENTS_STAGE_SCHOOLS
حتى يمكن الربط بين الجدول الرئيسي والجداول الفرعية للدرجات حسب المراحل الدراسية

وهذا الحل يمكن تنفيذه .. وهو حل جيد

ولكن يجب الاخذ فى الاعتبار التأثير على :
- مدى مرونه استخراج التقارير والاحصائيات المطلوبه ... ومستويات الفرز والتجميع طبقا لمتطلبات الادارة العليا .
- امكانية استخدام ال view لسهولة الحصول على المعلومات بين الجداول المختلفة .

رابعا : فكرة عامة
فيما يتعلق بحجم البيانات على مستوى الاعوام الدراسية ..
توجد فكرة اعداد الملفات التاريخيه .. ( وهى تحتوى على بيانات اعوام سابقه وهى جداول شبيهه للجداول الاساسية )
وتحتوى الجداول الحاليه ( بها بيانات العام الدراسي الحالى أو اخر 3 سنوات مثلا )
حتى لا تؤثر على سرعة استخراج التقارير أو تنفيذ الاستعلامات ..
ويمكن الربط بين الجداول التاريخيه والحالية باستخدام مفهوم ال view

أشكرك يا أخ armia2006
وجاري تجربة الفكرة وهي تبدو جيدة


مع تمنياتى بالتوفيق
بتاريخ:
  • كاتب الموضوع

شكراً جزيلاً يا أخ امجد
ردي السابق ليس لأنني تضايقت من تأخر الرد ولكنه مجرد دعابة فلا داعي للاعتذار
أرجو أن توضح لي لماذا تفضل أن تقسم الجداول كمراحل دراسية ( ابتدائي - اعدادي - ثانوي )
مع العلم انني سأتثني المرحلة الثانوية في هذا المشروع
ولكن لماذا تفضل التقسيم مراحل وليس مجموعات من المواد حسب الفرق التي تدرسها
سؤال آخر
أريد أن يكون متاحاً أن يتم ادخال الدرجات لكل طالب أو لكل مادة
هل سيكون في ذلك مشكلة ؟
شكراً لك

تم تعديل بواسطة armia2006

بتاريخ:

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

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


أريد أن يكون متاحاً أن يتم ادخال الدرجات لكل طالب أو لكل مادة


يجب تحديد ما تريد .. بوضوح
هل تريد تسجيل جميع الدرجات لطالب واحد .. يمكنك ذلك مع الاسلوب السابق المقترح ( حسب مجموعات المراحل ) .

هل تريد تسجيل درجات الطلبة بالصف الدراسي .. طبقا لمادة معينه ... فى هذه الحالة راجع الاقتراح الاول بتقسيم جداول الدرجات على المستوى التفصيلى لكل مادة
بتاريخ:
  • كاتب الموضوع

الأخ العزيز أمجد
بعد دراسات كثيرة وجدت أن الحل الأنسب هو الذي اقترحته أنت من قبل بعدم وضع اسماء المواد في أعمدة ثابتة

الاقتراح :
- جدول الطلبة ( رقم الطالب - الاسم - ... )
- جدول رموز المراحل التعليمية ( رمز المرحلة - اسم المرحلة )
- جدول رموز الصفوف الدراسية ( رمز الصف - اسم الصف - رمز المرحلة fk)
- جدول درجات الطلبة ( رقم الطالب - العام الدراسي - الصف الدراسي - رمز المادة - الدرجة - ... )
مفتاح الجدول ( رقم الطالب - العام الدراسي - الصف الدراسي - رمز الماده )


بالتجريب وجد أن حجم الجدول ( من حيث المساحة ) لن يكون كبيراً
ولكن القيم الموجودة به ستكون كثيرة جداً

ولكن سؤال
هل هناك ما يعيب أن يتكرر الطالب في جدول الدرجات مرات كثيرة
10 مرات كل عام ( مرة لكل مادة )
وهكذا لباقي الطلبة وللأعوام التالية
وهل يؤثر ذلك على أداء قاعدة البيانات
وهل يمكن عمل الـ partition table لتحسين الأداء في مثل هذه الحالة ؟
وهل هذه الطريقة فعلاً أفضل من فعلاً من فكرة تثبيت أعمدة
أنتظر آراء الأخوة أعضاء المنتدى
--------
أخ أمجد أحب في نهاية كلامي أن أقول لك أنك شخص رائع ( بصدق )
شكراً للجميع
بتاريخ:

أخي العزيز

تسمى التكرار في قواعد البيانات بال Redunduncy من الصحيح ان التكرار غير مرغوب فيه في تصميم قواعد البيانات و لكن في بعض الالحيان هو شر لا بد منه, كما هو الحال في سؤالك

و لا اتوقع ان هذا سوف يقلل من اداء البرنامج,

وفقك الله

بتاريخ:
  • كاتب الموضوع

أشكرك أخ adel19
كما أقدم شكري الجزيل للأخ أمجد
فبفضل مساندتكم وأفكاركم وهذا المنتدى الرائع
انتهيت من عمل ال ER وانا حالياً انتهي من الفورمز
شكراً لكل من اهتم
أخص بالأكثر مشرفنا الرائع أمجد

بتاريخ:

الأخ / armia2006

لقد اسعدنى كلامك كثيرا ... واتمنى ان اكون قد استطعت ان اقدم شئء لهذا المنتدى ... الذى ادين له بالفضل لما تعلمته هنا ..

مع تمنياتى لك بالتوفيق

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.