-1

我有一个由其他人设计的数据仓库。该人表示,不可能为每个客户拥有一个不随时间变化的唯一标识符。不太了解数据架构,我想知道这是否属实。

如果可能,它会有多复杂?鉴于有关客户的任何其他信息可能会在某个时候发生变化。

谢谢

4

1 回答 1

1

数据仓库信息通常来自其他一些系统。如果无法唯一识别人员,则该系统应该设计为具有代理键。人们很少有一个好的唯一标识符不是替代品。电子邮件是不合适的,因为它们会发生变化(人们可能有多个电子邮件)并且可以为其他人重复使用,SSN 并不像您预期​​的那样独特,甚至由于数据输入错误,医生的医疗执照号码等内容最终也不是唯一的在源系统中。即使与地址等其他信息相结合,名称也显然不是唯一的。在我有理由查询的数百个数据库中,我从未见过任何一个具有良好唯一标识符的人不是代理键。

如果原始系统的设计者不称职(任何数据库表都不应该缺少主键),那么数据仓库确实可能无法唯一标识个人,并且数据中出现重复的可能性是 100% . 如果代理键不是来自原始系统,那么向数据仓库添加代理键是没有意义的。在更新信息时,您如何知道此 John Smith 是 id 1234 还是 id 4567?

于 2013-04-25T19:34:04.773 回答