Data Vault建模外键



我有一个关于特定数据仓库建模的问题。我有一个源表,它捕获呼叫中心的call信息,如下所示:CallId(业务密钥(日期呼叫警报(_A(呼叫(_acw(等同一个源表中也有一堆外键,如下所示:RouteID(呼叫最终在哪条线路上结束(ConnectionType(电话、电子邮件等(

通过每个外键,可以检索有关密钥的额外信息(未链接到CALL(。

我的问题是如何在我的模型中对这些外键进行建模?我是将它们作为属性保存在我的卫星中,还是将它们建模为链接?或者还有其他我没有想过的选择?

谢谢!!

我将重点讨论您给出的一个示例(RouteID(,但每个示例的讨论可能是相同的。

首先要记住的是,Data Vault的目的是为业务和业务流程建模,而不是为存储数据的系统建模。外键可能是有意义的东西的指示(两个集线器之间的链接(,也可能不是(数据库中正常化的产物,您可能不需要复制(。

在您的案例中,第一步是思考RouteID及其链接到的数据对业务意味着什么。如果路由(或它所代表的线路(本身对业务来说是一个有意义的概念,那么它可能需要自己的集线器、卫星来获取与之相关的数据,然后链接表将其连接到您的呼叫数据。

另一方面,数据可能只具有对另一个集线器(在您的情况下为呼叫(的分类的意义,在这种情况下,请考虑将其降级为连接到呼叫集线器的卫星。请记住,您可以将多个卫星连接到一个集线器,没有什么可以阻止您拥有呼叫路由卫星、连接类型卫星等等。

你需要为每一个外键做出这个决定,最终可能会为每个外键做出不同的选择。例如,接到电话的工作人员几乎肯定是另一个中心的链接,因为你几乎肯定有其他数据要链接到工作人员。你提到的连接类型本身不太可能有意义,因此更有可能成为卫星的一部分。

最新更新