我正在使用MySQL DBMS
。我有Document table and Order table
。relationship
之间的one to many
是insert
。
创建文档后,用户可Order table
向该文档发送一些订单{{1}}。
当用户点击注册按钮时,它会生效。但之后,用户可以编辑该文档。他/她可以更改,更新,删除订单。
当点击注册按钮时,它将影响Order表。当编辑我想要删除该文档的所有订单,然后再次插入。但它似乎对我不好,例如,如果有100个订单和用户只更改1行,我必须删除100行并再次插入100行,或者如果用户添加新订单,我必须删除100行并添加101行。
处理这种情况的最佳方法是什么?请注意我正在使用C#。提前谢谢。
答案 0 :(得分:1)
只要文档发生更改,您就应该为文档创建新记录。您可以为文档使用唯一标识符,然后对文档进行版本控制。每个订单都应与特定版本的文档相关。
这样,您可以编辑文档,每当您编辑文档时,都会创建一个新版本,并且该版本将获得新订单。所有版本的唯一标识符将保持不变。简而言之,文档将由唯一标识符和版本标识。
您建议的方法存在问题,即当您修改文档时,您将重新插入所有订单,但您将永远无法追溯订单所针对的原始文档。