Как правильно связать базу данных Postgres с базой данных Oracle? - PullRequest
0 голосов
/ 21 января 2012

У меня есть база данных Oracle с 20 пользователями (схемами).Эти схемы связаны через синонимы и внешние ключи.Теперь я хотел бы взять часть данных (один пользователь) в базу данных postgreSQL.Я могу сделать ссылку на базу данных из postgreSQL в Oracle (и из Oracle в PostgreSQL), чтобы решить часть проблем, но как мне решить проблемы с внешними ключами (внешний ключ между postgreSQL и Oracle).Какой лучший путь?

1 Ответ

1 голос
/ 21 января 2012

Подход (речь идет не о создании конкретной связи между Oracle и PostgreSQL, а о том, как ее избежать):

Рассматривает базы данных Oracle и PostgreSQL как отдельную базу данных.Таким образом, нет ключевых отношений между двумя системами баз данных.

Любые данные, на которые должны ссылаться обе базы данных (например, животные) , могут (*) быть представлены в обеих базах данныхсохранить ключевые отношения и целостность данных.Вам не нужно дублировать все данные, но вы можете убедиться, что все строки присутствуют.Синхронизируйте общие данные (животные) между двумя системами.

Пример:

База данных PostgreSQL:

Animals: [id, name, bio, blobs, etc.]

База данных Oracle:

Animals: [id, name]
Owners: [id, name]
AnimalOwners: [ownerId, animalId]

Как правило, вы хотите управлять данными Animal из одной ведущей базы данных, в данном случае я предполагаю PostgreSQL.Каждый раз, когда вы обновляете строку Animal в PostgreSQL, копируйте изменения (при необходимости) в таблицу Animal в Oracle.

(*) Вы также можете забыть о ключах и явно проверить наличие необходимых строкв другой базе данных при создании ассоциаций.Кроме того, вы должны быть осторожны, чтобы не избавиться от (типов) животных, которые принадлежали / находились в собственности в какое-то время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...