我正在阅读有关OLAP和OLAP Fact Tables的维基百科文章,文章说明
事实和维度表之间的所有外键都应该是代理 密钥,不是来自运营数据的重用密钥。
但它没有说明原因。 那么,为什么要
事实和维度表之间的所有外键都应该是代理 密钥,不是来自运营数据的重用密钥。
答案 0 :(得分:3)
来自维基百科的Dimension Table的详细解释:
建议关键字段是一个简单的整数,因为键值没有意义,仅用于事实和维度表之间的连接字段。 代理维度键的使用带来了以下几个优点:
答案 1 :(得分:1)
辛苦赚来的知识。
来自运营数据的密钥可能随时更改格式。这种方式更容易。
这就像问“我应该使用SSN作为users
表的主键吗?”。虽然你(理论上)可以,但这不是一个好主意。
答案 2 :(得分:0)
我永远不会将SSN用作任何表的主键。此信息需要大量保护。将它用作PK将意味着它将作为外键连接出现在其他表中。即使是公司特有的员工ID,也不应该以其他方式妥协。代理键工作得更快。它们允许将尺寸设置为SCD类型2.即使您认为只需要类型1,也可能会有所改变。