Version control 使用源代码管理原则来管理映射、集合、字典或关系表?

Version control 使用源代码管理原则来管理映射、集合、字典或关系表?,version-control,map,Version Control,Map,在管理字典(单词和定义之间的映射)的过程中,您需要添加和删除单词,更新定义,并根据需要进行任何更改。与版本控制软件跟踪源代码更改的方式类似,跟踪此类更改将是一件好事。但是,映射和源文件之间有一些区别。我能想到的最大区别是,顺序在地图中并不重要,您可以根据自己的喜好对单词和定义进行排序(尽管可以假设默认的排序) 是否有任何现有软件非常适合跟踪字典(或地图数据结构或关系数据库)中的更改?我希望有一种方法能够回答诸如“这个词是什么时候添加的?”或“这个词的定义是什么时候改变的?”甚至“字典中以前有哪些

在管理字典(单词和定义之间的映射)的过程中,您需要添加和删除单词,更新定义,并根据需要进行任何更改。与版本控制软件跟踪源代码更改的方式类似,跟踪此类更改将是一件好事。但是,映射和源文件之间有一些区别。我能想到的最大区别是,顺序在地图中并不重要,您可以根据自己的喜好对单词和定义进行排序(尽管可以假设默认的排序)


是否有任何现有软件非常适合跟踪字典(或地图数据结构或关系数据库)中的更改?我希望有一种方法能够回答诸如“这个词是什么时候添加的?”或“这个词的定义是什么时候改变的?”甚至“字典中以前有哪些词后来被完全删除了?”

我认为,您几乎可以使用任何SCM来完成任务。大多数VCS(“版本控制系统”,注:对源代码只字不提)都有“责备”或等效命令来检测每个字符串的历史记录。字符串顺序对于开发中最常见的情况非常重要,因此-您不能禁用跟踪代码的这些更改,但可以使用Different Merge,它检测节目此类更改(在使用的SCM之外)-我在CompareIT,f.e.中了解此功能


对我来说,对于你的任务来说,相当好的VCS似乎是Git(有了它,grep,Git Dull,annotate)和Mercurial(有了Revset,Dull,grep)

我不确定你是否需要VCS。如果您说您使用关系数据库进行映射存储,那么您应该在映射结构中添加相应的字段。例如,如果您有两个具有多对多关系的表,那么它将有三个表:
T1
T2
T1\u to\u T2
,它们具有以下关系:
T1
T2
。您只需将
CreateDate
UpdateDate
等字段添加到映射表
T1\u到T2
。它将允许在SQL的帮助下回答所有这些问题:

  • 映射记录是何时添加的
  • 映射记录是什么时候更改的
  • 哪些记录没有映射?什么时候发生的
@Buttons840我找不到你最后一个问题的快速答案