我目前正在帮助我的公司重新设计 CRM。
他们计划扩展 CRM 以从另一个软件使用的另一个数据库中读取数据。
所有数据库都使用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]
}
]
}
]
}
现在,我的公司考虑使用触发器,但很难维护。有没有更好的选择可以完成这项工作?