Я разрабатываю приложение для использования в моем отделе на работе. Приложению требуется доступ к списку людей, предоставленных моей компанией.
Однако это своего рода беспорядок, поскольку моя компания не поддерживает очень чистые данные, и эту ситуацию нельзя изменить. Для краткости я буду использовать примеры таблиц с именами и тому подобное.
Вот текущий рабочий процесс получения этих данных в моей базе данных:
- Я получаю ежемесячный отчет в формате Excel (XLSX) от моей компании.
- Преобразовать отчет в CSV.
- Удалить все элементы из текущей
[people]
таблицы
- Импорт данных CSV в таблицу
[people]
Я не могу изменить этот процесс на простые операторы UPDATE или INSERT из-за нескольких факторов:
- В отчетах, которые я получаю, много повторяющихся данных
- Каждый
person
может быть указан в отчете несколько раз, с небольшими различиями в данных в каждом столбце (то есть: они могут иметь несколько записей для каждого person
, но с разными адресами для каждой строки).
- Моя компания использует два «идентификатора» для идентификации
person
, но они перерабатывают эти идентификаторы. Например, если человек удален из его записей, он может взять его идентификатор и присвоить его новому человеку.
Не делая всю строку PK, есть ли способ спасти эту ситуацию, чтобы создать истинную таблицу, на которую можно точно ссылаться из другой?