Database 数据库表的草稿版本
我有一个带有报表表的数据库。此表表示报表数据,并具有约束条件。 现在,消防员正在使用该应用程序,他们可能不得不跑掉并扑灭一些火灾。 因此,在填充这个表的数据中间,它们可能必须运行。 我们要做的是,当会话结束时,我们将数据保存到一个草稿表中,在那里我们只需序列化对象图,而不受任何约束(因为我们无法知道是否所有内容都处于有效状态)。 当消防队员后来想把数据拿回来时,我们只需再把草稿拿出来 这个很好用! 然而,消防员现在希望能够搜索表格和草稿表格。 所以在这里,我想把所有的数据(包括草稿)存储到一个表中,我搜索这个表,所以我不必合并两个表中的搜索 是否存在用于草稿的某种数据库模式?Database 数据库表的草稿版本,database,design-patterns,database-design,Database,Design Patterns,Database Design,我有一个带有报表表的数据库。此表表示报表数据,并具有约束条件。 现在,消防员正在使用该应用程序,他们可能不得不跑掉并扑灭一些火灾。 因此,在填充这个表的数据中间,它们可能必须运行。 我们要做的是,当会话结束时,我们将数据保存到一个草稿表中,在那里我们只需序列化对象图,而不受任何约束(因为我们无法知道是否所有内容都处于有效状态)。 当消防队员后来想把数据拿回来时,我们只需再把草稿拿出来 这个很好用! 然而,消防员现在希望能够搜索表格和草稿表格。 所以在这里,我想把所有的数据(包括草稿)存储到一个表
我想要的是一种模式,用于存储无约束(草稿模式)和有约束(最终模式)的数据。我不知道草稿的数据库模式,但如果需要验证,我建议保留单独的表,只需搜索两个表。我不知道这是否符合模式,但我认为最干净的方法是创建一个视图,将两个表合并并进行搜索。使用一个简单的解决方案:创建一个视图,它只是两个表的合并(这应该是相当直接的,因为我假设它们都有(几乎)相同的结构)然后,如果它们想同时包含这两个,则将其作为源运行搜索 实际上,我不会在任何时候合并完整数据和草稿数据:错误和意外使用未验证数据的可能性似乎很大
你现在不会为英国的国税局工作,是吗?如果不是的话,听起来DK对这个问题也采取了类似的(原则上)解决方案(我以前在英国的一家消防救援机构工作)。我对这个问题想了很久,想了很久,下面是我的答案:
如果人们在同一个文档上进行协作,并且文档的id在有效状态进出时不断变化,这也会让人感到困惑 这也是我第一次想到不要在IRS上工作(第:-)难道我们不需要加倍维护吗?我的意思是,如果我们在一个表中添加一列,我们就必须将它添加到另一个表(顺便说一下视图)是的,但是您必须已经这样做了,不是吗?只要两个表完全匹配,联合本身就不需要修改:只需使用“[Table1]联合[Table2];”而不指定字段名。如果使用uuid,相同的id可以复制到非草稿版本。