سلام عليكم عملت القاعده دي عاوزه مساعده لو في ملاحظات عن القاعده ان كانت عاوزه تعديل او اي حاجه ياريت اصحاب الخبره يفيدوني +هل في علاقه بين جدول الموظفين واليوزر ولا لا؟وجدول الاطباء واليوزر؟
اظن ان الملاحظة الواضحة هي عدم وضوح المفاتيح الفرعية
بدلا من no_emp مثلا الافضل استخدام EmpID مثلا للدلالة على انه مفتاح فرعي ، وهذا اتفاق عالمي على عادات التسمية الموحدة
ولا اجد علاقة بين المسخدمين والاطباء والموظفين في التصميم الحالي
(08-12-20, 02:18 AM)Anas Mahmoud كتب : [ -> ]اظن ان الملاحظة الواضحة هي عدم وضوح المفاتيح الفرعية
بدلا من no_emp مثلا الافضل استخدام EmpID مثلا للدلالة على انه مفتاح فرعي ، وهذا اتفاق عالمي على عادات التسمية الموحدة
ولا اجد علاقة بين المسخدمين والاطباء والموظفين في التصميم الحالي
سلام عليكم انا زبطت وعدلت بناء على ملاحظاتك عاوزه اسئلك هي كده القاعده تعتبر تمام ولا لسه ناقصه وفي نواقص؟انا عملتها بناء على الاهداف دي فلو تقدر تفيدني بحاجه ياريت ماتبخلش عليا ومشكور جدا على نصايحك.
تصميم وبرمجة نظام خاص بالحجوزات يحتوي على الخدمات الأتية:-
1) إضافة مريض جديد.
2) حجز موعد للمريض بكل سهوله ويسر في وقت وتاريخ معين مع مراعاة معرفة أنه الوقت والتاريخ غير محجوز.
3) أمكانية الاطلاع على الحجوزات الجديدة للمرضى وتفعيلها أو لا.
4) أمكانية التعديل على الحجوزات وتغيير موعدها.
5) أمكانية إضافة تصنيفات التحليل مع الأسعار.
6) جرد للمواعيد الملغاة أو المحجوزة كل نهاية أسبوع أو شهر بكل سهوله ويسر.
7) تقارير للمواعيد الملغاة أو المحجوزة .
8) أمكانية الحجز لإجراء كشف طبي أو لأجراء تحليل ما بالنسبة للمرضى ويمكن تنظيم استخدام الأجهزة المشتركة بين الأطباء عن طريق حجز مواعيد لاستخدام أجهزة طبية معينة تستخدم عن طريق أكثر من طبيب أى أنها أجهزة مشتركة الاستخدام بين الأطباء مثل أجهزة الأشعة.
9) معرفة الطبيب كم عدد الحالات التي لديه في اليوم.
10) تسجيل البيانات الأساسية للأطباء وتخصصاتهم و فترات العمل المتاحة للطبيب ( صباحي - مسائي ).
.
11) مراعاة الفترة الزمنية المناسبة للكشف الطبي على أن تكون من (10_15)دقيقه.
12) أمكانية أجراء الكشف عند طبيب بديل في حالة عدم توفر الوقت لدى الطبيب الأساسي .
13) أمكانية أجراء اتصال هاتفي مع المريض للتذكرة بموعد الحجز ومعرفة هل يتم الاستمرار في نفس الموعد أو تبديله أو إلغاؤه.
14) أمكانية إرسال رسائل جوال للمريض للتذكرة بموعد الحجز قبل الموعد المحدد ب24 ساعة .
15) متابعة حجوزات المرضى ( بالهاتف أو بإرسال رسائل تذكيرية ).
16) تسجيل بيانات التشخيص والعلاج للمريض .
17) إلغاء الحجوزات في حالة عدم وصول المريض قبل إجراء الكشف الطبي بوقت كاف 15 دقيقه مثلا.
عذرا على التأخير ولكني كنت مشغول بعض الشيء
على العموم ملاحظات :
1. اسماء الحقول سليمة ولكن كنت اقصد حالة الاحرف حتى يتم قرائتها بسهولة هكذا مثلا : empId مثلا
2. نقطة تفعيل والغاء الحجوزات ليست مغطاه على ما فهمته من التصميم ،
لتغطيتها سنقوم باضافة خانة في جدول المواعيد Appointments ولتكن AppState من نوع TinyInt او byte ، بحيث تأخذ قيمة من :
****** 1 : وتعني غير محدد
****** 2 : وتعني تم التفعيل
****** 3 : وتعني تم الالغاء
وبهذا يسهل الحصول على المواعيد الملغاه مثلا عن طريق :
PHP كود :
SELECT * FROM Appointments WHERE AppState = 3
3. نقطة التشخيص والعلاج ، من الخطأ ربطها بجدول الاطباء ، بل الصواب ربطها بجدول المواعيد ، بالمطنق الطبيب يقوم بتشخيصات كثيرة لمواعيد كثيرة ولكن التشخيص الواحد يكون من ميعاد واحد فقط
اذا قمنا بربط جدول التشخيص والعلاج بجدول المواعيد يصبح شكل جدول التشخيص والعلاج :
PHP كود :
======================
Diagnosis & Treatment
======================
Id
AppId
notes
حيث AppId مربوط بـ Appointments.Id
4. نقطة حجز الاجهزة المشتركة اعتقد الافضل عمل جدول منفصل للاجهزة المشتركة وليكن اسمه SharedDevices :
PHP كود :
======================
SharedDevices
======================
Id
DeviceName
ومن ثم عمل جدول لحجوزات الاجهزة SharedDevicesReservations:
PHP كود :
======================
SharedDevicesReservations
======================
Id
DeviceId
ReservDate
DocId
مجرد افكار وملاحظات ، انت ادرى بالتأكيد ببرنامجك ولكن هذه اشياء خطرت ببالي عندما قرأت الاهداف وشاهدت مخطط قاعدة البيانات
مشكووور جدا بس عندي سؤال العلاقه بين جدول الحجوزات والتشخيص والعلاج علاقه واحد لواحد أو واحد لأكثر؟