【发布时间】:2012-06-04 15:32:17
【问题描述】:
我面临着这个任务:
输入: 数据模型,通过 20 - 30 个关系表 (SQL DB) 呈现巨大的实体。 有很多约束+参考数据链接。
任务: 添加草稿模式支持,这意味着我可以在任何状态下保存对象(无需填写所有必要的字段、打破约束等)。当我发布对象时,我必须针对所有约束对其进行验证。
有人知道如何实施草稿模式的好方法吗? 由于我与客户的合同,非关系数据库不是这种情况。
我一直在想: 重复表,从所有重复项中删除验证,并在发布时将行移动到同一事务中的原始表。这种方法闻起来很臭。 在我的系统中,所有对象都可以序列化为 XML,我可以将它们的状态保存到 DB wile Draft 模式,再次闻起来不好。
【问题讨论】:
-
草稿模式是否需要使用原始数据?您可以直接创建另一个数据库,复制第一个数据库,没有任何限制。
-
我可以使用数据库的副本 - 但我不喜欢这种方法,因为它需要复制粘贴方法 - 关系数据库应该是重复数据的解决方案。
标签: database relational-database data-modeling