每小时时间表数据库设计

时间:2016-04-29 11:36:18

标签: database database-design

为我的公司构建基于Web的内部项目管理工具。需要一些时间表组件的数据库设计帮助。

我们目前使用MS Excel文件,其中: 列标题 - 星期几 行 - 每天30分钟的时间(第1行:上午9:00,第2行:上午9:30,依此类推)

表格中的每个单元格都有一个下拉菜单,该菜单从经理设置的一组预定义任务中获取,员工选择当天和特定30分钟时间段之一的任务之一。

我希望前端界面对员工保持不变。

需要帮助设计支持此功能的数据库。如果能够提高效率,我可以对我提出的限制提出任何建议/修改。谢谢!

1 个答案:

答案 0 :(得分:0)

这就是你想要的东西吗?

任务(可以分配员工的所有任务)

  • PK:Id
  • 名称
  • ......其他细节......

<强>员工

  • PK:Id
  • 名称
  • ......其他细节......

EmployeeTask (已分配给员工的任务列表)

  • PK:Id
  • FK:TaskId
  • FK:EmployeeId

TimePeriod (行标签)

  • PK:Id
  • 开始(9:30,10:00等)

时间表(排除时间区域并说这是一回事 - 给出列标题)

  • PK:Id
  • 开始日期
  • 结束日期(如果时间表覆盖相同的时间长度,则不需要此日期)

<强> EmployeeTimesheetCell

  • PK:Id
  • FK:TimesheetId
  • FK:EmployeeId
  • FK:TimePeriodId
  • FK:TaskId
  • 日期或星期几
  • 花费的时间

您可能想要在Task和/或EmployeeTask上获得某种状态或完成日期,以便旧的完成任务不会使GUI混乱。