私は現在、会社が CRM を再設計するのを手伝っています。
彼らは、CRM を拡張して、別のソフトウェアで使用されている別のデータベースからデータを読み取ることを計画しています。
すべてのデータベースは mssql テクノロジを使用しています。
実際、当社には 3 つのブランドがあり、各ブランドのデータは異なる 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
しかし今、私は3つのデータベースに接続し、それらからデータを取得し、結果を結合して次のようなデータ構造を生成する必要があります:
{
customers:[
{
customer_name: cato,
invoices:[
{
invoice_id: 1,
payments: [bla,bla,bla]
}
]
}
]
}
今、私の会社はトリガーを使用することを考えましたが、維持するのは難しいです。仕事をすることができるより良いオプションはありますか?