Database design 用于存储编辑历史的数据库模式

Database design 用于存储编辑历史的数据库模式,database-design,schema,history,edit,Database Design,Schema,History,Edit,我正在设计一个系统,其中将包括对用户帖子所做编辑的历史记录。我预计我的用户发表的文章中大约有1/3会包含某种编辑。其中大多数只有少数几个版本。达到两位数是非常罕见的 在数据库中表示此数据的最佳模式是什么?我应该有哪些表,它们应该存储什么?我设想的模式是有一个Posts表和一个历史记录表。当有人第一次发布他们的初始帖子时,它只会进入Posts表。然后,如果他们或其他用户稍后编辑文章,则会在历史记录表中创建两个条目:一个用于原始版本,另一个用于已编辑版本。同样,员额表将更新最新信息。其他编辑将生成历

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


在数据库中表示此数据的最佳模式是什么?我应该有哪些表,它们应该存储什么?

我设想的模式是有一个Posts表和一个历史记录表。当有人第一次发布他们的初始帖子时,它只会进入Posts表。然后,如果他们或其他用户稍后编辑文章,则会在历史记录表中创建两个条目:一个用于原始版本,另一个用于已编辑版本。同样,员额表将更新最新信息。其他编辑将生成历史记录表的单个新条目,并更新Posts表

我看到的一个问题是,当前版本最终在两个表中都是重复的,但我认为将用户与他们的编辑关联起来的方便性使得这是值得的