问题是有一个包含大约 20k 客户记录的数据库,我想尽最大努力避免重复条目。数据库是 Microsoft SQL Server 2005,维护该数据库的应用程序是 Microsoft Dynamics/SL。我正在创建一个与该数据库交互的 ASP.NET Web 服务。我的服务可以将客户记录插入数据库、从中读取记录或修改这些记录。无论是在我的网络服务中,还是通过 MS Dynamics 或在 Sql Server 中,我都想在用户确认添加新记录之前给出可能匹配的列表。
所以用户会提交一条记录,如果它看起来是唯一的,记录会保存并返回一个新的ID。如果存在可能的重复,则用户可以重新提交并确认说:“是的,我看到了可能的重复,这是一条新记录,我想提交它”。
如果它只是一个标点符号或空格,这很容易(例如,如果您输入“Company, Inc.”并且数据库中有一个“Company Inc.”,但如果有轻微的变化,例如“Company Corp. ” 而不是“Company Inc”,或者如果有一个粗大的拼写错误,例如“Cmpany, Inc.”。是否可以在列表中返回类似的记录?如果绝对不可能,我会处理我的有。如果由于重复而需要合并记录,它只会导致更多的工作。