多组合交叉参考

时间:2016-06-16 13:20:45

标签: sql database database-design

我有一个设计非常糟糕的系统,我继承并正在努力清理。我有四个不同的客户端系统。他们都没有共同的ClientID或ClientCode或类似的东西。在一些系统中它们是相同的,但在大多数情况下它们只有基本的差异,一些有破折号或括号,缩写,首字母缩略词等。我在过去创建了交叉引用表,可以将“客户端A”映射到“ClntA” “, 没问题。当我尝试为两个以上的系统创建交叉引用时,我的问题出现了。

我可以创建一个包含SystemA,SystemB,SystemC和SystemD列的表,但显然会有重叠。例如,我可以:

  

1 ClientA ClientA Client A Clnt A
  2 ClientA ClientA客户A Clnt A

在这种情况下,SystemA,SystemB和SystemD都是相同的,所以如果我查询组合以查找SystemA到SystemB映射,我得到两个结果。我不确定一个独特的是最好的主意。我考虑过创建像

这样的视图
  

创建视图SysA_SysB_Xref AS
  SELECT DISTINCT SystemA,SystemB FROM myTable

但我不确定是否有帮助。

有关基本设计的任何帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要全新的系统范围Clients表,并附带自己的ID。从SystemA名称的副本开始,例如分配新的ID。现在为每个SystemA都有N个单独的映射表,...根据需要为新的Id添加新客户端。