我有一个拥有20个用户(模式)的Oracle数据库。这些模式通过同义词和外键编织在一起。现在,我想将一部分数据(一个用户)带入postgreSQL数据库。 我可以建立一个从postgreSQL到Oracle(以及从Oracle到PostgreSQL)的数据库链接来解决部分问题,但是如何解决外键问题(postgreSQL和Oracle之间的外键)。什么是最好的方式?
答案 0 :(得分:1)
方法(这不是关于在Oracle和PostgreSQL之间创建特定链接,而是如何避免它):
将Oracle和PostgreSQL数据库视为单独的数据库。也就是说,两个数据库系统之间没有关键关系。
两个数据库(例如动物)需要引用的任何数据可以(*)在两个数据库中表示,以保持关键关系和数据完整性。您不需要复制所有数据,但可以确保所有行都存在。同步两个系统之间的共享数据(动物)。
示例:
PostgreSQL数据库:
Animals: [id, name, bio, blobs, etc.]
Oracle数据库:
Animals: [id, name]
Owners: [id, name]
AnimalOwners: [ownerId, animalId]
通常,您希望从一个主要数据库管理Animal数据,在这种情况下我假设PostgreSQL。每次更新PostgreSQL中的Animal行时,将更改(如果相关)复制到Oracle中的Animal表。
(*)您还可以忘记密钥,并在创建关联时显式检查其他数据库中是否存在所需的行。此外,你应该小心不要摆脱某些时候拥有的动物(类型)。