عذرا على التأخير ولكني كنت مشغول بعض الشيء
على العموم ملاحظات :
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
مجرد افكار وملاحظات ، انت ادرى بالتأكيد ببرنامجك ولكن هذه اشياء خطرت ببالي عندما قرأت الاهداف وشاهدت مخطط قاعدة البيانات