【问题标题】:Data Vault Modelling Foreign Keys数据保险库建模外键
【发布时间】:2019-11-05 15:27:06
【问题描述】:

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

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

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

谢谢!!

【问题讨论】:

    标签: data-modeling data-vault


    【解决方案1】:

    我将专注于您给出的一个示例(RouteID),但每个示例的讨论可能都相同。

    首先要记住的是,Data Vault 的目标是对业务和业务流程进行建模,而不是对存储数据的系统进行建模。外键可能表示某种有意义的东西(两个集线器之间的链接),或者它们可能不会(您可能不需要复制的数据库中的标准化产品)。

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2019-03-20
      • 2021-02-05
      相关资源
      最近更新 更多