Проблема в том, что существует база данных с около 20 тыс. Записей клиентов, и я хочу приложить максимум усилий, чтобы избежать дублирования записей. База данных - Microsoft SQL Server 2005, приложение, которое поддерживает эту базу данных, - Microsoft Dynamics / SL. Я создаю веб-сервис ASP.NET, который взаимодействует с этой базой данных. Мой сервис может вставлять записи о клиентах в базу данных, читать записи из нее или изменять эти записи. Либо в моем веб-сервисе, либо через MS Dynamics, либо в Sql Server я хотел бы дать список возможных совпадений, прежде чем пользователь подтвердит добавление новой записи.
Таким образом, пользователь отправит запись, если она кажется уникальной, запись сохранит и вернет новый идентификатор. Если есть возможные дубликаты, пользователь может повторно отправить запрос с подтверждением: «Да, я вижу возможные дубликаты, это новая запись, и я хочу отправить ее».
Это легко, если это просто пунктуация или пробел (например, если вы вводите "Company, Inc." и в базе данных есть "Company Inc", но что, если есть небольшие изменения, такие как " Company Corp. »вместо« Company Inc »или, если есть неправильная орфография, например« Cmpany, Inc. ». Можно ли даже вернуть такие записи в списке? Если это абсолютно невозможно, я разберусь с тем, что у меня есть. Это просто вызывает больше работы позже, если записи должны быть объединены из-за дублирования.