我在用户界面下方获得了用于计划功能的信息。
我需要为该月的每个星期设置几天的医生可用时间。
我应该如何创建用于处理此表。
我以为我可以用下面的列创建一个table structure
但是这里的问题是,如果同一位医生在同一天访问两个不同的时间,我将为他添加两行。
我的数据库架构中是否存在任何问题,或者任何更好的表设计都可以帮助我做到这一点呢?
使用此表,我应该能够检测到特定日期和时间有空或没有空缺的医生
我如何才能最好地改善我的餐 table 设计?
编辑:我正在使用的屏幕是为了帮助
Hospital Staff to know when the visiting doctor is available
,因此他们可以为患者预约时间或告知其他可用时间 最佳答案
编辑:我误解了这个问题。
您的设计很好-表格中有多行反射(reflect)了多个偶数没有错。您可能会考虑的唯一改进是将AvailableFrom和AvailableTo设为日期时间值,而不是时间,因此您可以删除“日期”列。这可以帮助您处理整个午夜的可用性。
答案的其余部分与该问题无关-它是基于对该问题的误解。
首先,您需要知道医生的工作时间是什么时候;这可能很简单(每天9-5),也可能很复杂(星期一9-5,星期二不可用,星期三-星期五9-12:30)。您可能还需要记录休息时间-例如每天的午餐,因此您不必在午餐时间安排约会;我假设不同的医生会在不同的时间休息。
接下来,您可能不想记录“可用性”,而是要记录每天的“约会”。当他们的日程安排表明他们正在工作时,以及没有预定的约会时,都会有医生在场。
因此,您的架构可能是:
Doctors
--------
DoctorID
....
DoctorSchedule
------------
DoctorID
DayOfWeek
StartTime
BreakStartTime
BreakEndTime
EndTime
DoctorAppointment
----------------
DoctorID
Date
AppointmentStartTime
AppointmentEndTime
关于sql-server - 医生调度数据库设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16669197/