1

我有一个带有 Gender 属性的 Person Satellite。在源系统中,此属性的值可以是:F、M、FEMALE 或 MALE。以下两种方法中哪一种是 Data Vault 建模的正确方法?

  1. 将来自来源的数据存储在 Gender 中,并在 Business Vault 或 Data Marts 中将值标准化为 FEMALE 和 MALE

  2. 创建一个交叉引用表以将 F 映射到 FEMALE 并将 M 映射到 MALE,同时加载 Person Satellite,使用交叉引用表将 F 转换为 FEMALE 并将 M 转换为 MALE。

我正在使用支持列压缩的 Amazon Redshift。

4

2 回答 2

2

我给 Data Vault 建模方法的创建者 Daniel Linstedt 发了电子邮件,问他同样的问题。他的回答:

“我通常在它进入时存储它,然后在将其翻译到商业 DV 的过程中。这样,如果企业改变了主意,我们可以在不影响历史的情况下重新编写翻译规则。但更重要的是,我“已经看到源系统提供的价值超出了可接受的范围。不要试图在进入原始 DV 的过程中进行翻译,这样做会破坏可审计性。”

于 2017-03-06T02:12:20.797 回答
0

当您有一个非常复杂的业务逻辑会随时间变化,但 F/Female 和 M/Male 映射是一个非常简单且稳定的逻辑时,数据仓库概念很有用。在这里进行交叉引用只会使事情变得过于复杂。我只是将值标准化为 F/M 并在此处使用不压缩的 char(1) 列。

于 2017-02-23T15:29:06.827 回答