用于存储编辑历史的数据库架构

时间:2010-09-11 01:02:53

标签: database-design schema history edit

我正在设计一个系统,其中包含对用户帖子进行编辑的历史记录。我希望我的用户大约有1/3的帖子包含某种编辑。其中大多数只有少数几个版本。达到两位数将是非常罕见的。

在数据库中表示此数据的最佳架构是什么?我应该拥有哪些表格,以及它们应该存储什么?

1 个答案:

答案 0 :(得分:3)

我设想的架构是拥有Posts表和History表。当有人首次发布他们的帖子时,它只会进入帖子表。然后,如果他们或其他用户稍后编辑帖子,则对历史记录表进行两个输入:一个用于原始版本,另一个用于编辑版本。同样,Posts表将使用最新信息进行更新。其他编辑将生成History表的单个新条目,以及Posts表的更新。

我看到的一个问题是当前版本最终会在两个表中重复出现,但我认为将用户与其编辑相关联的难易程度使这一点变得有价值。