代表关系数据库中的工作时间/时间表

时间:2012-04-10 02:02:27

标签: database relational-database entity-relationship schedule

我正在为临时工/兼职工开发一个可搜索的数据库,我没有实现工作时间可用性的经验。我已经为员工,技能,代理和客户开发了架构。现在我需要捕获员工的每小时可用性。

系统应该能够代表24/7小时计划的任何组合,即:

  • 星期一上午8-9点,星期二上午1-5点,星期三下午3点到10点;
  • 周一至周五下午1-4点;
  • 周六至周日上午8点至下午6点;

当然会有偶尔会有全职工作的离群值,虽然我在员工表中想到会有一个全职的布尔字段,这个日程表/系统只会被咨询如果雇员是兼职的。

非常感谢任何经验/指导/指导。

2 个答案:

答案 0 :(得分:1)

我会通过关注每个用户每天的可用性来建模,并使用以下列:

a)日(1-7),其中1是星期日,7是星期六遵循MySQL惯例

b)开始时间 - 如果不可用,开始时间可以为空

c)结束时间 - 如果不可用,结束时间可以为空

d)注释 - 当天可用的任何注释

e)userid(正在显示其日程安排的用户的ID)

f)不可用 - 是/否

这意味着每个用户将拥有7个可用性记录。但是,在用户面上,您可以执行调整以从一天到另一个数据副本

答案 1 :(得分:-1)

为什么不在一段时间内创建间隔和用户之间的关联? 如果您知道,经常1周,您可以选择任何一周。 如果您知道,经常1个月,您可以选择任何给定的月份......

StartAvailableDateTime1 DATETIME,
AvailableDateTime2 DATETIME,
UserID INT