Вариант использования: пользователь 1 загружает 100 названий компаний (например, Microsoft, Bank of Sierra).
Пользователь 2 загружает 100 названий компаний (например, The Gap, Uservoice, Microsoft, Inc.)
Я хочу, чтобы представление пользователя 1 о Microsoft и представление пользователя 2 о Microsoft сопоставлялось с централизованно поддерживаемой сущностью с уникальным индексом для Microsoft.
Если кто-то загружает имя, которого нет в центральном репозитории, я бы хотел, чтобы оно было введено как есть. Но что тогда произойдет, если эта первая запись будет написана неправильно (например, Vergin Mobile вместо Virgin Mobile?). Как мы можем лучше всего исправить это и сопоставить новые загрузки с тем же индексом?
Технически, должен ли центральный репозиторий быть отдельной базой данных? Должна ли даже созданная пользователем информация находиться в отдельной базе данных от бизнес-транзакций, которые будут происходить с ней?
Начав с большого определения проблемы и надеясь разделить ее на части с вашим вкладом, спасибо.