Добавить в корзинуПозвонить
Найти в Дзене

Актуализация баз данных

Имеем базу данных. Постоянно поступают сведения для изменения базы. Сведения могут дублировать имеющуюся информацию, изменять её или содержать новые данные. Для каждой записи из поступающих сведений необходимо принять соответствующее решение: использовать её или нет, изменяет ли она запись в базе или создаёт новую.

Имеем базу данных физлиц. Постоянно поступают сведения для изменения базы. Сведения могут дублировать имеющуюся информацию, изменять её или содержать новые данные. Для каждой записи из поступающих сведений необходимо принять соответствующее решение: использовать её или нет, изменяет ли она запись в базе или создаёт новую.

В базах сведения о гражданах обычно содержат следующие основные поля: фамилия, имя, отчество, дата и место рождения, данные паспорта, адрес и начало регистрации, окончание регистрации. Сведения об ИНН, СНИЛС, ОМС и т.п. являются второстепенными.

Необходимо корректно сопоставить полученные сведения с уже имеющимися и не допустить ни дублирования ни потери информации.

С годами отработан следующий алгоритм.

Информацию о гражданине можно разделить на группы: ФИО и год рождения, паспорт, адрес. Эти группы помогают идентифицировать запись при наличии единичных ошибок (опечаток). Если при сопоставлении с базой не совпали данные ни с одной из этих групп, то такая запись считается новой для базы. В других случаях запись может изменять сведения в базе.

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

Теперь можно принимать решения.

Если запись совпала по всем параметрам - значит не обрабатываем её. Сравнивая даты можно восстановить регистрацию на прежнем адресе, либо завершить её.

Если запись совпала по группе ФИО и паспорта, то оформляем переезд. Аналогично действуем по смене документа, фамилии и т.д.

Этот подход реализован и успешно используется с применением СУБД Oracle, h2, VBA, Java. Хотя от выбора средств программирования реализация алгоритма не зависит.