我正在开发小型Windows窗体.net项目,我们需要构建预约调度程序。下面是UI应该是什么样子的屏幕模拟。
用户应该能够选择AM,PM或OWH而不管小时数。或者,他可以从下拉菜单中选择特定的小时数。
对于为此设计数据库的最佳方法,我有一个问题。最初我只是想使用日期和时间,但这不会起作用 存储AM / PM或OWH插槽很困难(没有小时部分)。
我正在考虑在下面做,我们将非常感谢任何建议和最佳做法: 1.创建插槽表,基本上包含:
SlotID | Description
1 | AM
2 | PM
3 | OWH
4 | 00
5 | 02
....
创建Appoinment表,其中包含以下内容:
AppointmentDate | SlotID | ......
04-02-2014 | 1 | ......
04-03-2014 | 5 | ......
任何其他建议将不胜感激。
答案 0 :(得分:1)
建议存储正在存储的时间类型。
为TimeType
添加额外的表格:
TimeTypeId | TimeTypeDescription
1 | AM
2 | PM
3 | OWH
4 | Time
然后将Appointment
表更改为:
AppointmentDate | TimeTypeId | TimeOfDay (nullable)
2014-02-04 | 1 | (null)
2014-02-05 | 4 | 7
2014-02-06 | 4 | 19
如果约会具有正确的TimeType
。
答案 1 :(得分:0)
我的建议是,如果你想以你设计的方式使用它(无论出于何种原因),我会把它保存为starttime和endtime,例如可以是AM = starttime 6和endtime 18,如果是用户选择15(例如)你可以将它保存为starttime 15 endtime 16.我想你可以保持时间范围,从小时到小时,或更大的范围,如AM,PM。
希望对你有所帮助。