Использование (грязных) данных другой базы данных внутри моей базы данных с внешними ключами - PullRequest
1 голос
/ 19 апреля 2019

У меня есть производительная база данных с чистыми структурами первичного ключа / внешнего ключа. Он довольно хорошо спроектирован, и я бы хотел, чтобы он так и оставался.

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

Самое простое решение, которое я нашел, это: создать свою собственную таблицу, запускать скрипт импорта каждый день. Перед импортом данных => обрезать мою таблицу.

Однако это не работает, потому что я убил бы все ссылки на внешние ключи с помощью усечения.

Другое решение, которое я имею в виду, выглядит следующим образом:

Выполните однократный импорт, а затем обновляйте / удаляйте / вставляйте (новые) данные каждый день.

Это может быть очень сложно из-за отсутствующего первичного ключа. Я могу потерять записи данных и вставить их как новые вместо обновления старого набора данных.

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

Есть ли другой полезный подход, которого я сейчас не вижу? Есть другой совет?

...