管理SQLite数据库子集版本

时间:2016-08-30 15:50:00

标签: sql database sqlite

我们的研究团队有一个内部sqlite数据库,其中包含数千条记录,其中许多是专有的,因此是私有的。我们还有一个已发布的数据库版本,其中包含一部分数据:200条记录。我正在尝试确定跟踪已发布哪些记录的最佳方法,并考虑如何跟踪在版本1,2,3等中发布的内容。理想情况下,我将能够获取所有记录特定版本号或更低版本,以创建数据库的可发布子集。

我们的团队有两个想法:

  1. 在数据库中添加一个新表,用于跟踪所有已发布数据的主键,表名和版本号,
  2. 为每个表添加一个新列,默认值为NULL,其中包含已发布记录的版本号
  3. 有没有可接受的方法如何去做? 我尝试寻找最佳实践,但这听起来有点像一个独特的场景。

1 个答案:

答案 0 :(得分:1)

选项2可能是最容易实现的,并且可以快速编入索引 - 但是您可能会对数据进行非规范化。

选项1将是规范化数据结构的首选选项,但在编写SQL时需要更多的工作。

我很想去选择1。

这样原始数据将不受影响,特别是如果您决定将来不再需要该子集(您将没有冗余列)。

虽然你可以很容易地编辑表格 - 但通常用生产“实时”数据来制作面条通常不是一个好主意。

那就是说 - 两种选择都是完全可以接受的。