如果您有另一个使用现有数据库的数据且需要更多数据的应用程序,并且您不想更改现有数据库的架构,那么该怎么做?
我的问题背景:我们使用IBM产品(Connections)来存储用户配置文件。但是我们有很多自定义要求(许多自定义字段和逻辑),所以目前我们在Connections的后端数据库中创建了一些表,视图和函数来存储自定义数据。但是,因为它是IBM的内部数据库而我们不应该触摸它,所以当我们升级Connections时,我们所有的自定义表,视图和函数都不见了。
所以我们决定搬出我们的定制产品。但问题是我们仍然需要加入Connections中的数据。 (或者不是数据库连接,只是在向用户呈现之前与数据集成的其他方式。)
如果我们在自己的数据库中创建联合表,我们可以像以前一样创建表和视图。但它会有性能问题吗?我们仍将严重依赖IBM的架构,并且必须假设它们不会改变它。这是一个好方法吗?
我们可以考虑的其他选择是什么?
答案 0 :(得分:0)
如果我们在自己的数据库中创建联合表,我们可以像以前一样创建表和视图。但它会有性能问题吗?
可能。您的应用程序代码必须在IBM数据库表和数据库表之间进行连接。
我假设Connections使用DB2。如果您打开自己的DB2数据库,我认为您可以在两个单独的DB2数据库之间进行SQL连接。
无论哪种方式,此代码应驻留在由数据访问对象组成的单独数据访问包中。其余的应用程序将使用数据访问包。
我们仍将严重依赖IBM的架构,并且必须假设它们不会改变它。
IBM将更改其架构,您必须计划对数据库和/或应用程序进行相应的更改。
我们可以考虑的其他选择是什么?
您可以将IBM数据从其数据库复制到数据库。当IBM模式表定义发生更改时,您仍然必须对复制过程进行更改。