员工有一把强钥匙。一方面,我记录每个员工的轮班日历(“轮班日历”),另一方面,我记录员工实际执行的轮班。现在,如果员工“X”有两个轮班,一个在周一早上,另一个在周二早上,我们假设他在周一晚上到达,当他到达时,他指的是他迟到的周一早班或周二早上转移他预计到达的地方?预定班次与实际执行的班次没有对应关系。
如何添加匹配项而不产生冗余?
我考虑过将“轮班日历”与“实际轮班”以 1:1 的关联关联起来,以跟踪已执行的轮班以及它们引用的计划轮班,但我不知道这是否是最佳选择。
如何添加匹配项而不产生冗余?
预测(日历)班次和实际班次是现实世界中的两个不同的事物,在此基础上没有冗余 - 两组数据都代表可能具有商业价值的东西。例如,如果您想对预测与实际进行分析(与预测不匹配的实际班次百分比等),则需要两者。
Employee
到 Forecasted Shift
是多对多,假设有不止一名员工被分配到给定的预测班次。Employee
到 Actual Shift
是多对多,假设有不止一名员工参与给定的实际班次...Actual Shift
表实际上是 Employee Actual Shift
表 - 下面将详细介绍。关键在于预测的变化与实际变化的关系(如果有的话)。例如:
Employee Actual Shift
模型:[ ID | Employee ID | Forecasted Shift ID | Actual Shift Start Date/Time | Actual Shift End Date/Time ]
地点:
Employee
到 Employee Actual Shift
是一对多(一名员工有多个实际班次,但一个实际班次仅指一名员工。Forecasted Shift ID
到 Employee Actual Shift
是 1 对 1。