我正在为我的公司设计各种数据库。我担心数据库中的重复,因为据我所知,我们必须减少重复,并在大多数时间保持表的规范化。
但是,我有一个业务要求,即记录的数据不能一直更新。例如,
我有三张桌子医疗假雇员职位
简在担任经理时申请了休假,几年后她又申请了一次休假。
然后,管理员决定将主管的职位名称(ID: 1)更改为Engineer (ID: 1)。
系统应该根据过去的情况生成报告。
07/03/2014 Jane Executive
06/03/2017 Jane Manager该系统不应将执行机构改为报告中的工程师。
目前医疗休假表的设计如下
PK_ID, Leave Type, Leave Date, FK_EmployeeID, FK_PositionID, FK_PositionName是以上是一个糟糕的数据库设计,还是有其他方法来处理这个问题。
因为如果我用
PK_ID, Leave Type, Leave Date, FK_EmployeeID系统将始终查询最新的职位标题,而不是旧的职位标题。
或者我需要采用验证数据概念作为最佳实践?
发布于 2017-03-07 12:15:08
我真的不觉得这里有什么问题。如果表位置实际上是位置,则可以查询EmployeeID持有的所有职位,然后子查询结果列表以获取休假数据。
很好的例子是:
http://www.w3resource.com/sql/subqueries/understanding-sql-subqueries.php
https://stackoverflow.com/questions/42647641
复制相似问题