Если импортер данных из внешнего источника написан на основе той же базовой модели данных (для целевой / целевой стороны импорта) - ничто не будет концептуально другим по сравнению с использованием / обновлением тех же данных (через ядро стек данных из вашего фактического приложения).
Если вы создаете импортер данных без использования стека базовых данных, убедитесь, что вы хорошо изучили схему БД, которая была бы сгенерирована / ожидалась моделью на основе базовых данных. Там нет ничего волшебного - просто убедитесь, что вы следите за тем, как реализуются межсайтовые отношения и как хранятся иерархии сущностей.
Мне недавно пришлось создать импортер данных из базы данных Access в хранилище Sqlite на основе основных данных в виде приложения .NET. Как только моя основная модель данных была определена, я создал небольшое приложение, которое заполнило хранилище Sqlite случайно сгенерированными сущностями (включая все ожидаемые отношения). Затем я обратил внимание на то, как базовые данные на самом деле создали хранилище Sqlite для модели и как оно обрабатывает отношения, изучая сгенерированные и постоянные данные. Затем я реализовал импортер / преобразователь данных на основе .NET в соответствии с моими наблюдениями. В конце я получил идеальное хранилище данных, удобное для базовых данных, которое можно было бы открыть модифицированным из приложения, использующего стек основных данных в Mac OSX.