[英]Multi version entity database design
我目前正在开展一个项目,我们需要在数据库中保留给定实体的多个版本。
例如,假设我们有一个名为 House 的实体,它有房间。 现在,无论何时从房子中添加、更新或删除房间,或者房子上的属性或任何房间发生变化,我们都需要保留旧信息和新信息。 最好我们希望将更改组合在一个“更改集”中(实际上问题有点像源代码控制)。
现在实际的 model 比这复杂得多,但我认为这个例子说明了这个问题。
我非常想听听这个问题的一些可能的解决方案。
我们正在运行 Microsoft SQL Server 2008 R2。
在数据仓库中,这通常使用渐变维度 (SCD)来解决。
作为一个简短的总结,您可以:
我的团队传统上使用类型 2(用于更多“最近”数据)和类型 4(用于存档中的“较旧”数据)的组合。 我们在被更改的对象中使用change_id
对更改进行分组,该对象是对change
object 的引用,其中包括更改日期以及其他元数据(用户、评论等)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.