我有一个存储业务联系人和相关信息的表。
目前,每天都会将所有联系人的副本保存在表格中。表结构如下所示:
Date CompanyName Description Address Industry
20130416 Alpha Corp bla bla bal 6100 main st. Finicial
20130417 Alpha Corp bla bla bal 6100 main st. Finicial
20130417 Beta Corp bla bla bal 6500 main st. Consumer
20130418 Alpha Corp bla bla bal 6120 main st. Finicial
20130418 Beta Corp bla bla bal 6500 main st. Consumer
这说明了添加 20130417 "Beta Corp" 和修改 20130418 "Alpa corp" 时会发生什么。
我想将其更改为具有审计跟踪功能。目前我想到的是一个存储所有当前条目的表(引入新字段 CompanyID int auto-intrement)
CompanyID CompanyName Description Address Industry
还有一张表来存储所有的历史变化
CompanyID CompanyName Description Address Industry ChangeTime Action User
大多数查询将是从今天开始获取联系人列表,这在新架构下将很容易,但我仍然希望能够执行诸如“获取截至 20130416 的联系人列表”之类的查询,这应该返回 1 行。而且通过当前条目和更改日志来构建历史数据感觉相当肮脏。
在类似的情况下你会怎么做?和推理?
最好的,