我正在设计一个使用 Data Vault 模型的数据仓库。我的数据仓库中有一个名为 Specialty 的实体。这些专业有一个基于其代码的查找表,该查找表具有从 Specialty_CD 到描述的一对一映射。此查找表(因为专业代码可以改变含义)和我保管库中的所有卫星表都有数据条目的历史记录。
我遇到了一个奇怪的案例,我想将 Data Vault 中名为“Professional”的另一个实体链接到 Specialty 实体,其中一个专业人员可以拥有多个专业。但是,专业实体没有中心。我当前的解决方案只有一个专业中心,其中包含每个专业人士的业务密钥和业务密钥哈希,一个将专业 BK 哈希映射到专业实践的专业的专业代码的链接表,以及从专业代码到描述的查找表。这里的问题是链接表将集线器连接到查找表,而不是另一个集线器。我不禁觉得这打破了 Data Vault 模型。这是否违反了 Data Vault 模型的规则?这会破坏我整个模型的正常化吗?
我觉得为专业创建一个中心会导致额外的数据检索连接。由于专业代码已经是专业描述的唯一标识符,我宁愿只为这个专业实体提供一个查找表,而不是为我不需要的专业实体提供一个集线器和额外的卫星。尤其是因为它只是在数据仓库中服务于一个特殊代码的定义和描述的目的。
欢迎对这种情况提出任何建议。在这种情况下,通过将集线器链接到查找表是否会破坏数据库?为这个专业实体创建一个中心和卫星是否值得在检索时进行开销和额外的连接?
谢谢!