gpt4 book ai didi

mysql - 数据库模型 : what are hubs good for?

转载 作者:太空宇宙 更新时间:2023-11-03 11:43:56 27 4
gpt4 key购买 nike

我刚刚读到关于 Data Vault modeling 的内容据我了解,集线器只包含 key (和记录源)。所以我想知道为什么我应该创建那些仅用于存储记录源的中心表?只有卫星和链接还不够吗?

顺便说一句:我正在寻找数据保险库形式的简单 mysql 表来下载和使用。

最佳答案

Data Vault 建模的主要概念之一是分离业务 key 、详细数据的卫星和连接集线器的链接。

示例

Employee
--------
Personnel Number
Name
Surname
Street
City

Department
--------
ID
Shortcode
Name
Employee Number

假设一个部门只有一名员工。

业务 key

现在需要识别业务对象EmployeeDepartment 的业务标识符。对于员工,这将是人员编号,对于部门,这将是简码

为什么不是部门ID?嗯,这个 ID 很可能是一个数据库内部 ID。此示例中的短代码类似于 DEP_A1613,它也在内部用于标识部门。

建模

Employee 的中心仅包含字段Personnel NumberDepartment 的中心仅包含Shortcode .

这意味着 Data Vault 建模中的中心用于存储业务 key 。当然,还需要记录源加载日期 等 Data Vault 字段。两个 Hub 也会有相应的 Satellites 来描述数据。在没有集线器的情况下将卫星连接在一起将违反数据仓库建模技术。这也没有意义:您需要某种通用标识符来表示您的卫星数据,如果您省略 Hub,它就不会存在。

结论

所以回答您的问题:您应该为业务 key 建模 Hub。绝对地。集线器实际上是 Data Vault 建模的基本元素。链接仅连接到 Hub,而不连接到 Satellite。

想象一下 Employee 软件的变化。所有其他字段现在都存储在 Employee 卫星中。使用新源员工软件时,您可以将所有数据存储在新卫星中,同时使用相同的集线器和业务 key

只是为了完成此示例:该链接将连接员工部门部门员工编号

编辑

例如,结构看起来像这样。 Data Vault 特定字段标有 [DV]:

Hub Employee
------------
Employee Hash Key [DV]
Load Date [DV]
Record Source [DV]
Personnel Number

Sat Employee
------------
Employee Hash Key [DV]
Load Date [DV]
Load End Date [DV]
Record Source [DV]
Hash Diff [DV]
Name
Surname
Street
City

Link Employee Department
------------------------
Employee Department Hash Key [DV]
Employee Hash Key [DV]
Department Hash Key [DV]

Hub Department
--------------
Department Hash Key [DV]
Load Date [DV]
Record Source [DV]
Shortcode

Sat Department
--------------
Department Hash Key [DV]
Load Date [DV]
Load End Date [DV]
Record Source [DV]
Hash Diff [DV]
ID
Name

关于mysql - 数据库模型 : what are hubs good for?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39985216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com