data-modeling - 数据保险库建模外键
问题描述
我有一个关于特定数据保险库建模的问题。我有一个捕获呼叫中心 CALL 信息的源表,如下所示: CallId (business key) Date Call_alert Call_acw etc 同一个源表中还有一堆外键,如下所示:RouteID(呼叫最终在哪一行结束) ConnectionType(电话、电子邮件等)
通过每个外键,可以检索有关该键的额外信息(未链接到 CALL)。
我的问题是如何在我的模型中建模这些外键?我将它们作为属性保存在我的卫星中还是将它们建模为链接?还是我没有想到的其他选择?
谢谢!!
解决方案
我将专注于您提供的一个示例(RouteID),但每个示例的讨论可能都相同。
首先要记住的是,Data Vault 的目标是对业务和业务流程进行建模,而不是对存储数据的系统进行建模。外键可能表示有意义的事情(两个集线器之间的链接),也可能没有(数据库中的标准化产品,您可能不需要复制)。
在您的案例中,第一步是考虑 RouteID 及其链接到的数据对业务意味着什么。如果路线(或它所代表的线路)本身对业务来说是一个有意义的概念,那么它可能需要它自己的集线器、与之相关的数据的卫星,然后链接表以将其连接到您的呼叫数据。
另一方面,数据可能仅具有对另一个集线器(在您的情况下为呼叫)进行分类的意义,在这种情况下,请考虑将其反规范化为连接到呼叫集线器的卫星。请记住,您可以将多个卫星连接到一个集线器,没有什么可以阻止您拥有呼叫路由卫星、连接类型卫星等。
您需要为每个外键做出此决定,并且可能最终为每个外键做出不同的选择。例如,接听电话的员工几乎肯定会链接到另一个中心,因为您几乎肯定有其他数据要将员工链接到。您提到的连接类型之类的东西本身不太可能有意义,因此更有可能构成卫星的一部分。
推荐阅读
- javascript - 将不透明层添加到除所选图像之外的所有滑块图像
- r - 将向量重新缩放为 r 中的特定平均值
- mysql - 更新从同一个表中的另一行获取的现有行中的数据
- android - Jetpack Compose 如何在 Composable 完成后异步下载图像并释放资源?
- html - 为什么照片下面有黑色的东西?
- swift - Swift - 如何创建一个只包含时间的日期对象
- sql - ROW_NUMBER() 基于日期
- c - 代码说“使用未声明的标识符”,但在代码中
- python - Yellowbrick.model_selection 不适用于回归,但适用于分类
- javascript - Mousemove事件错误的目标javascript