我正在设计员工数据库。我想将他们的可用时间存储在接下来的3周内。这是我的要求。
我想将这些存储在数据库中,以便我可以查看他们的日历并了解其可用性。这是我的设计。
EmpID - int
Date - Date
StartTime - Time
EndTime - Time
表格样本
EmpID | Date | StartTime | EndTime
-----------------------------------------
1 | 8.12.2014 | 9:00 | 17:00
2 | 9.12.2014 | 9:00 | 17:00
2 | 9.12.2014 | 7:00 | 15:00
1 | 10.12.2014 | 7:00 | 11:00
1 | 10.12.2014 | 15:00 | 19:00
此处员工2的默认时间为9到17.为每位员工提前3周创建默认条目。现在,对于2014年12月9日,员工2希望从7到15工作。在这种情况下,我将在表格中创建额外的条目,该条目将覆盖以前的计划。
我提前3周为每位员工创建日历。
问题
由于我提前3周为所有员工创建日历,因此对数据库负担很重。
这不是一种有效的方法。由于它士气低落,我将能够轻松获取细节,但很难维护。
请为我这种员工可用性问题建议一些好的数据库设计。
答案 0 :(得分:2)
我认为这个数据库设计会起作用。虽然我需要提前填充数据,但可能会产生一些与数据相关的重复。但这将使检索更快,因为我的应用程序将经常检索日历数据。