0

我有几个系统,我需要将这些系统中的数据导入到一个公用表中。但 ID 仅在源系统内是唯一的。所以我需要创建自己的主键来唯一标识目标表中的这些数据。

解决问题的最佳做法是什么?我不想将主键创建为字符,也不想通过添加 1000000000 来生成 ID。与系统名称连接将构建字符数据类型。你有什么想法或解决方案吗?

感谢帮助。

4

2 回答 2

1

没有最佳实践,只有意见。但通常将源系统密钥用作数据仓库(或您正在构建的任何数据存储)中的主键是一个坏主意。

为目标表创建新列,至少代理主键;识别原始系统的东西也非常有用。在加载数据时填充它们。您可能希望强制(source system key, source system name )作为唯一键,在这种情况下,您需要添加该原始系统标识符列。

于 2017-03-29T10:57:06.817 回答
1

用串联创建的主键不是好的做法,你是对的。找出并解决关键问题也会给您带来未来的问题。我认为最好的做法是创建由 SYSTEMID 等 2 个属性组成的密钥,ID 那里的 ID 你可以保留旧 ID 不受系统影响,这对 2 个属性为你提供了唯一的 PK。

于 2017-03-29T10:55:05.707 回答