2013-05-14 51 views
0

我目前正在帮助我的公司重新设计CRM。
他们计划扩展CRM以从另一个软件使用的另一个数据库中读取数据。
需要来自其他数据库的数据的Web应用程序

所有数据库都使用mssql技术。
其实,我们公司有三个品牌,每个品牌的数据都存储在不同的mssql数据库中。

Brand1: 
Customer 
Invoice 
Payment 

Brand2: 
Customer 
Invoice 
Payment 

Brand3: 
Customer 
Invoice 
Payment 

在我的新数据库模式设计中。客户将有多张发票,每张发票都会收到多笔付款。

它是理想让所有的数据在我的新设计的数据库来存储,因为我可以提取最新的支付是这样的:

SELECT [Everything I want] 
FROM Customer 
INNER JOIN Invoice WHERE Invoice.customer_id=Customer.id 
INNER JOIN Payment WHERE Payment.invoice_id=Invoice.id 

但现在我需要做的连接三个数据库,获取数据从他们身上,并结合结果产生这样的数据结构:

{ 
    customers:[ 
    { 
     customer_name: cato, 
     invoices:[ 
     { 
      invoice_id: 1, 
      payments: [bla,bla,bla] 
     } 
     ] 
    } 
    ] 
} 

现在,我的公司就想到了用触发的,但它是很难维持的。有没有更好的选择可以完成这项工作?

回答

0

是,SQL有一个很好的解决方案, 其实你需要的是SQL复制, 它可以让你从远程数据库“复制”表到地方,首先你的表复制到本地,然后的能力你设置复制和远程数据库将转发他的所有插入,更新等命令您的数据库,所以实际上,您的本地复制表将始终与远程同步 take a look at it同步并按照教程进行复制

+0

我可以不只是将整个表格复制到我最新设计的数据库中吗?我想做一些模式更改。 – 2013-05-14 08:25:44

+0

你最好像我说的复制和“重新设计”它的视图 – Dima 2013-05-14 20:10:12

相关问题