我每天都会收到一张excel工作表,其中汇总了该公司当前正在执行的所有工作,并在其中列出了诸如员工,工作地点,机器ID,工具类型,客户名称,工作ID等信息(总计85列)。我想将这些数据导入到Access数据库中,但想向数据库中添加日期(工作表中不包含日期,因为它只是当天的快照)。
工作可能会持续数天,而在工作过程中某些数据也会发生变化。例如,工作ID可能是包含位置,客户和机器的表的主键,但在工作进行到一半时可以更换工具,也可以换掉员工。
在该示例中,我可以为员工和工具创建单独的表,但是在关联日期时遇到了麻烦。
使用相同的示例,可以说作业ID 0001从19年1月10日开始,到19年5月15日结束。员工ID的01、02、03和04可能在1月10日开始工作,但是在11月2日,员工03被工作至工作结束的员工05取代。另外,假设员工03的工作时间从2月11日减少至20月2日,然后开始工作ID 0002。
我想查询一些统计数据,例如今年到目前为止XX号员工工作的天数(例如,找出谁的工作更多,并且平均休假天数)或XX号员工在工作ID上工作了多少天XXXXX,或者甚至是从哪个日期到哪个日期,工作ID为XXXXX的员工XX。
每个作业有多个员工,并且多个作业同时运行,我如何在数据库中实现日期?
我可以为工作,雇员和工具创建单独的表,但是我是否必须创建单独的日期表?看来,如果我这样做了,那么我将不得不在该表中为每个员工,工作,工具等添加一个字段,其中的数据将是布尔值,但是我不知道如何编写查询。我曾考虑过将每个excel工作表作为自己的表导入,并以其日期为标题,但是后来我不知道该怎么用做键。我考虑过将日期字段放入工作和雇员等表格中,但实际上我将拥有无限数量的字段。
我拥有的最后一个想法是单个日期字段,并在该字段中得出一个值来表示一年中所有可能的天数组合(如果您在过去180天中工作了85天,组合将类似于786,453,如果您使用05-feb而不是04-feb,并且用04-feb代替了05-feb,则组合将为549,375),但这将是7.5x10 ^ 109组合(2 ^ 365),我认为这将为查询创建一些非常复杂的编码,我什至无法想象如何将其提取出来。