员工的SQL时间表

时间:2010-04-25 15:33:36

标签: sql shift timetable

我需要创建一个员工班次数据库。所以我到目前为止有3个表,employee,employee_shift和shift

我想要计算一个员工在月底完成的班次,我的问题意味着,因为一个月有30天,有些人有28天和31天。

这意味着我需要在班次表31中创建不同的变化?一个月的每一天?为了计算哪个员工最有效?

在我的业务关系中,它表示员工每天有1班或2班,因此我必须拥有60行不同的变体吗?我是对的还是有一种简单的方法来解决它

3 个答案:

答案 0 :(得分:0)

我还会坚持三个表,Employee,Shifts和Employee_InOut。最后一个表格将包含日期,时间和时间的列。及时和及时将是了解员工正在做什么转变的关键。因此,我可以计算一个月的员工班次细节和班次细节。这很简单。

答案 1 :(得分:0)

我会使用这样的三个表:

Employee - EmployeeId, EmployeeName etc.
ShiftRecords - ShiftRecordId, EmployeeId, InTime, OutTime
Shift - ShiftId, ShiftStartTime, ShiftEndTime

如果换档时间有可能发生变化,您可以在Shift表中包含班次开始日期和结束日期以及IsActive列。

答案 2 :(得分:0)

  1. 您无法将数据插入TimeStamp列。请改用时间。
  2. 您不能将Emp_Id和Shift_Id作为主键,因为这会重复。如果您确实需要主键,请添加另一列,例如Shift_Record_Id。
  3. 就创建脚本而言,它应该很简单。您所需要的只是找出逻辑并阅读我们可以在其中使用的select语句和可用关键字。