我正在构建一个类似于Stack Overflow的修订系统,但有一件事情我无法理解,即如何处理多个修订版本之间标签的差异。最简单的方法是创建3个表:修订版本、标签和将两者关联起来的表。每个修订版本都有自己的标签集合,唯一的问题是,在显示所有修订版本时,即使它们没有更改,也需要重新比较标签以找出差异。也许可以添加一个或两个额外的字段来标记与上一个修订版本相比已添加或删除的标签。是否有更好的方法?
我会说你走在正确的轨道上 T1: 修订 |项目 ID|修订 ID|更多...|T2: 标签 |标签 ID|标签字段...|T3: 每个修订的标签 |项目 ID|修订 ID|标签 ID| /* 这将有多行,每个标签 1 行)*/ 要查找标签差异,只需检索最后两个修订版本的标签,并使用您喜欢的哈希映射在任何语言中进行比较,或者以其他方式使用您的语言有效地实现集合差异。