1

我想设计一个数据库来存储保险单信息。(不,我不是在建立 Healthcare.gov)

一个策略由它唯一地描述PolicyNumber。其他一些属性是EffectiveDate, ExpirationDate, 和Premium(等等)。

这是一个问题 -由于取消、审核等原因,政策制定后可能会发生变化PremiumExpirationDate

出于我的目的,我需要知道保费和到期日期是什么时候写的和现在的。但是,EffectiveDate从编写策略时起,此类属性将保持不变。那么,如何构建一个规范化的数据库来捕获所有这些?

4

1 回答 1

0

解决此问题的一种方法是创建一个包含所有最新信息的普通策略表。创建另一个包含您希望跟踪的历史数据的表。您可能希望保留两者的时间戳信息,但特别是在历史记录表上。您可能希望在主表和历史表之间建立 1-M 关系,因为任何活动行都可以有多个历史记录行。没有历史记录行意味着没有进行任何更改。

每次进行更改时,策略表中的当前行(或者,如果您愿意,相关列)将被复制到历史记录表并保存历史记录行。

这种设计的一个问题是,要弄清楚发生了什么变化可能需要一些工作(除非客户端可以传递此信息)并且会浪费一些空间。

这种设计的优点是简单,并将所有当前信息保存在一个地方。当前信息是您在大多数系统操作中通常会访问的信息(我猜)。

于 2013-11-08T01:10:43.447 回答