0

TL;DR:如何根据移动规则协调的不良移动数据构建一致、正确的视图?

大家好 :) 我正在构建一个数据库,其中数据必须进行转换,在可能的情况下进行协调并大量丰富。

(顺便说一句,如果你知道一本关于这个一般主题的好书,请发帖!)

在我的特殊情况下,原始数据来自两个表。

以下是原始表上发生的情况:

  • 未格式化的数据(待格式化:电话号码、电子邮件转小写等)
  • 缺失数据:部分字段缺失,未来可能会被丰富
  • 更新数据:部分行已更新
  • 新数据:插入新行

对账部分使用的字段(ID、邮政地址等)可能是部分的、在表中缺失或在另一个表中找不到。使用了几个协调规则。都可以用SQL来表达。其中一些正在使用GROUP BYs (这会阻止视图可更新)。

约束是:

  • 可以更新基础表。新数据最多必须在 72 小时后跟上。
  • 新数据必须是可查询的形式(表或视图或物化视图),并具有可接受的性能。
  • 新数据中的行必须随着时间的推移保持一致,以便人们可以对它们进行注释(以丰富它们,将它们标记为已发送到其他地方等)
  • 必须手动丰富新数据中的某些行。
  • 新数据中的行必须包含它们被协调的时间(以及更新时间,如果它们被更新)
  • 可以更新对账方法。新数据最多必须在 72 小时后跟上。

我无法决定是使用视图还是使用使用存储过程更新的表。

视图可以很好地处理原始数据的变化和协调规则中的更新。但它不支持新行的注释。

使用存储过程更新的表可以很好地处理这个问题,但在更改协调规则或更新原始数据时需要进行一些复杂的处理。

我在想也许使用一个视图并在旁边有一个表,表的主键是新数据的一些稳定字段的哈希。

这些工具是:Oracle 10g(加上 Java,如果需要)

对不起,文字墙。

问题是:你会怎么做?

4

1 回答 1

0

将原始表中的所有数据插入 2 个或更多其他表中。新表根据关系理论进行了适当设计,这将允许对它们进行有效查询。

于 2013-02-15T13:41:46.810 回答