我正在尝试使用以下表格构建约会应用程序:Doctors
,Schedules
。我很难弄清楚设计Schedules
表最方便的方法。每个doctor
都有自己的schedule
,所以我想我为day
doctor
的工作和start
和{{1}创建了一个字段我可以在该范围内进行数学运算。
如果医生正在休假或参加会议,我不打算在申请中考虑。但我确实需要在午餐时间内设定一个时间。
如果他每周只工作三天,我应该如何处理他离开的日子?
end
答案 0 :(得分:1)
我会在两个表中为每个医生提供ID,并且具有日期的数值。
结构应如下所示;
Doctors Table
---------------------------------------------
Doctor_ID | Doctor_name | Practice | etc
---------------------------------------------
Schedules
-----------------------------------------------------------
Day_ID | Time (hour,minute,second) | Doctor_ID | Istaken
-----------------------------------------------------------
Istaken将是一个bool变量,它将告诉您是否采取了一天中的小时。您需要做的是,如果您不想每次都添加新变量,则需要每天为每位医生创建24个表格。
或者你可以做的是;
将24小时添加为列,例如hourone | hourtwo等并将它们列为0或1.这样,您每次都可以保存以添加新记录。
如果以这种方式创建它,系统将更容易搜索表格,因为您将在Doctor_ID上加入整数值
答案 1 :(得分:1)
首先,您需要确定计划中的最小部分。常识是“小时”,或者您可以根据自己的喜好使用“日”或“半天”。一旦定义,就很难改变。
计划表将包含以下主要元素:
id
#唯一ID
start_time
#这非常重要。它显示每个工作小时的开始时间,用于从日历查询。最好使用十六进制数据时间戳。
doctor_id
#占据这一小时的医生。如果没有被占用,那就是空白。请注意,您可能有两名医生占用同一小时。因此,start_time
或doctor_id
不是唯一的,但结合在一起它们是唯一的。
patient_id
#这个小时订购的病人。
description
#Description of this
现在出现了用例:
在您的日历中,对于某一天,您会显示8小时。您查询数据库以查找是否有任何计划在每小时的开始时间(如果存在),您标记此小时并链接到计划。
注意可能存在患者连续几个小时要求医生的情况。例如3小时,在这种情况下,您需要添加三个记录到计划表,仅与id
和start_time
不同。
也可能有两名医生在同一时间安排。它很容易显示为上述方案。
arragement应该有用。希望能帮助到你。