我有一个设计非常糟糕的系统,我继承并正在努力清理。我有四个不同的客户端系统。他们都没有共同的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
但我不确定是否有帮助。
有关基本设计的任何帮助吗?
谢谢!
答案 0 :(得分:1)
您需要全新的系统范围Clients
表,并附带自己的ID。从SystemA名称的副本开始,例如分配新的ID。现在为每个SystemA都有N个单独的映射表,...根据需要为新的Id添加新客户端。