2009-02-24 4 views
1

Я системный администратор для компании, которая поддерживает CRM CMS (Salesforce).«Хороший» инструмент сравнения записей базы данных?

Мне не нравятся встроенные функции, поэтому я обычно управляю данными через файлы CSV/XLS для загрузки и загрузки, потому что я могу писать лучшие запросы и тому подобное. Одна из моих задач - загрузка контактов и учетных записей. Из-за отсутствия уникальных идентификаторов и орфографических ошибок я встречаю дубликаты в загруженных записях.

  • При загрузке контактов, я стараюсь соответствовать по электронной почте, номер телефона и/или фамилия/Firstname
  • С компаниями я обычно ограничиваются только имя учетной записи, с многочисленными возможными сокращениями и опечатками

Я ищу лучший метод для проверки дубликатов со следующими ограничениями:

Предоставлено список имен, электронных писем или телефонных номеров (все хранится в виде текстовых полей) , выполните проверку сравнения между двумя таблицами, ища наилучшее соответствие из второй таблицы. Предпочтительно между несколькими полями, но даже если это всего лишь одно, это значительно облегчит мои усилия.

Размер набора данных составляет около 17 000 записей на самом длинном столе. Значения обычно вводятся примерно по 50 за раз. Мои ограничения - это аппаратное обеспечение, которое у меня есть, и отсутствие бюджетного усмотрения. Моя способность программирования довольно простая, но я могу узнать и иметь Eclipse & Visual Studio в системе.

Есть ли у кого-нибудь предложение, как я могу решить эту проблему программно или с помощью стороннего инструмента?

ответ

1

Два инструмента сравнения db, которые я использовал, - это xSQL и Redgate SQL Compare.

Я предпочитаю redgate для простоты использования, но это довольно дорого.

xSQL немного сложнее, чтобы получить зависание вначале, но он достаточно мощный, он также намного лучше выполняет схему сценариев и данные, чем SQL-сервер. его также намного дешевле.

На самом деле, глядя на ваш вопрос немного поближе, кажется, что вы хотите немного разума в своих сравнениях, это тот случай, поскольку у вас уже установлена ​​Visual Studio. Я бы сказал, что у вас есть инструменты, которые уже могут сделать некоторые довольно углубленные сравнения , просто нужно немного кодировать.

0

Вы, по сути, говорите о natural language parsing, а также об общей схеме соответствия (аббревиатуры и т. Д.). Вы не найдете простого решения для этого; но вы можете улучшить свои шансы.

Я бы начал с, возможно, одного из простых моментов: неправильного написания. Алгоритм «soundex» (правильно, Soundex Indexing System) кодирует слова по тому, что они звучат, когда произносится (предположительно говорящим из США), и делает их такими, чтобы похожие слова сравнивались. Это очень полезно при попытке найти неправильное написание на основе омофонов: представить пользователю совпадения на основе аналогичных значений soundex.

0

Совместимость имен и адресов может быть довольно сложной, я работал над коммерческими инструментами, которые сделали это, и они пришли с огромным ценой, тем более, что они работают с полным списком адресов, а иногда и с именами.

Другой подход, который работает, но требует много времени, заключается в создании собственной мини-библиотеки сценариев. Есть два пути: вы можете попробовать perl, awk, shell-скрипт и любые другие языки, которые вам нравятся, и работать с файлами и текстовыми данными. Или вы можете создать набор Sql, запросов и кодовых фрагментов, возможно, в Access? В любом случае, если ваш бюджет равен нулю, вы, вероятно, потратите много времени на создание собственной библиотеки, но это полезный навык.

0

Как указано в @MrTelly, имя и адрес (и компания) соответствуют очень сложным.

Один сторонний инструмент - есть автономный графический интерфейс, а также API программиста - MatchUp от Melissa DATA.

GUI: http://www.melissadata.com/products/matchup.htm

API: http://www.melissadata.com/dqt/matchup-api.htm

Отказ от ответственности: Я работаю Melissa DATA и был основным разработчиком для этих продуктов. Но я искренне поддерживаю свою работу!

+0

Это Фрэнк Чанг (ячейка 617-909-2731 email [email protected]). Сейчас я работаю на Kendall Square Cambridge, штат Массачусетс, в качестве консультационного инженера по программному обеспечению для двух компаний. Спасибо, Фрэнк (11 декабря 2013 г.) – Frank

Смежные вопросы