Избегайте дублирования без использования проиндексированных полей и «без дублирования» - PullRequest
0 голосов
/ 15 сентября 2010

Я ищу совет относительно правильного метода проектирования форм, чтобы пользователь мог вводить данные, чтобы избежать дублирования записей.

Например: Пользователь вводит информацию профиля в поля firstName surName Многие профили могут иметь одинаковое имя (например, Джон Смит, поэтому индексация полей невозможна, чтобы избежать дублирования). Пользователь может ввести одну и ту же запись дважды, если ему не предложено / не предупреждено об этом.

Что считается лучшим способом побудить пользователей избегать дублирования записей и подчеркнуть, что запись «может» уже существует?

Заранее спасибо за любые советы.

Ответы [ 2 ]

3 голосов
/ 16 сентября 2010

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

Вот пример формы «Добавить клиента» из одного из приложений моего клиента:

sample Add Customer form

Точки слева показывают уровень совпадения, с красным для точного (или почти точного - я не могу вспомнить точную формулу), оранжевым для близкого совпадения, затем желтым и для зеленого для очень удаленного Матчи. Ближайшие совпадения находятся вверху списка.

Дело в том, что проверка дубликатов выполняется здесь, когда нажимается кнопка ADD, и затем пользователь должен определить, является ли любое из возможных совпадений реальным дубликатом, а затем добавить или нет.

Другими словами, я полагаюсь на человеческий интеллект, чтобы избежать создания дубликатов, но они могут создать их, если захотят. Но я делаю это как можно проще, чтобы избежать этого.

1 голос
/ 15 сентября 2010

Я считаю, что выбор подходящих записей из таблицы в событии до обновления полезен, пользователю может быть показан список возможных совпадений с дополнительным идентификатором, таким как адрес или дата рождения, который затем может принять решение в видебудь то новый или существующий Джон Смит.Вы также можете рассмотреть soundex, для близких совпадений.

...