0

我正在使用MySQL DBMS。我有Document table and Order tablerelationship他们之间是one to many

创建文档时,用户可以对该文档进行insert一些命令。Order table当用户点击注册按钮时,表格生效。但之后,用户可以编辑该文档。他/她可以更改,更新,删除订单。

单击注册按钮时,它将影响订单表。编辑时我想删除该文档的所有订单,然后再次插入。但在我看来并不好,例如,如果有 100 个订单并且用户只更改 1行,我必须删除 100 行并再次插入 100 行,或者如果用户添加新订单,我必须删除 100 行并添加 101 行。

处理这种情况的最佳方法是什么?请注意,我使用的是 C#。提前致谢。

4

1 回答 1

1

每当文档发生更改时,您都应该为该文档创建一个新记录。您可以为文档使用唯一标识符,然后对文档进行版本化。每个订单都应与特定版本的文档相关。

这样,您可以编辑文档,并且每当您编辑文档时,都会创建一个新版本,并且该版本将获得新订单。所有版本的唯一标识符将保持不变。简而言之,文档将通过唯一标识符和版本进行标识。

您建议的方法有问题,即当您修改文档时,您将重新插入所有订单,但您将永远无法追溯订单所在的原始文档。

于 2012-10-10T05:35:57.140 回答