Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在设计一个系统,其中将包含对用户帖子的编辑历史。我预计大约 1/3 的用户发布的帖子包含某种类型的编辑。其中大多数只有少数几个版本。达到两位数将非常罕见。
在数据库中表示这些数据的最佳模式是什么?我应该有哪些表,它们应该存储什么?
我设想的架构是有一个 Posts 表和一个 History 表。当有人第一次发布他们的初始帖子时,它只会进入 Posts 表。然后,如果他们或其他用户稍后编辑该帖子,则在“历史记录”表中创建两个条目:一个用于原始版本,另一个用于编辑后的版本。同样,帖子表将使用最新信息进行更新。额外的编辑将在 History 表中生成一个新条目,并更新 Posts 表。
我看到的一个问题是当前版本最终在两个表中都重复了,但我认为将用户与其编辑相关联的便利性使得这值得。