在我的应用程序中,我有两个实体雇员和工作组之间的关联。 该协会通常随时间变化,所以在我的数据库我有类似:关联表与日期
就业者
| EMPLOYEE_ID | NAME |
| ... | ... |
工作组
| GROUP_ID | NAME |
| ... | ... |
emplyees_workgroups
| EMPLOYEE_ID | GROUP_ID | DATE |
| ... | ... | ... |
假设我有员工1和组1之间的关联,从2014-01-01
有效。 创建新关联时,例如从2014-02-01
开始,旧关联不再有效。
关联表的这种结构对于查询有点问题,但我实际上会避免在表中添加一个END_DATE
字段,因为它将成为还原剂值,并且还需要执行insert + update或update每次在关联中发生更改时都有两行。
那么你有什么想法来创建一个更实用的架构来解决我的问题吗?这是更好的方法吗?
我怀疑你现有的结构是否正常。不过,我认为更彻底的例子会更容易考虑。考虑提供适当的DDL(和/或一个sqlfiddle)与期望的结果集合在一起。大概一个员工每次只能与一个团队关联? – Strawberry
_“关联表的这种结构对于查询有点问题”_ - 有点......也许 - 但它不应该在常见用例中遇到问题。或者,您是否已经想到在哪些地方会遇到无法解决的问题? – CBroe