2013-03-28 56 views
0

我正在使用H2數據庫用於基於Swing的零售ERP(銷售點和會計覈算)應用程序。項目中鏈接的表太多

我們有兩個數據庫分別MainDB和CompanyDB在我們的應用程序。

主數據庫存儲所有用戶信息和公司信息。每當用戶創建公司時,這些數據將存儲在MainDB中的company_table中,隨後將爲每個公司創建CompanyDB。

我們在MainDB和CompanyDB同一個主表(約60)。無論何時在應用程序中創建或編輯任何主人時,我都會插入並更新兩個數據庫。

就在最近我才知道鏈接表,這是我在很多場合是非常有用的。

我的問題是,如果我創建鏈接的表在我CompanyDB都是高手

  1. 我可以只掛錶中CompanyDB所有高手?

  2. 我不能引用的所有交易和其他表的外鍵,作爲主表是一個鏈接表。沒有外鍵關係可以接受嗎?

  3. 創建大約60鏈接的表,會降低性能?

目前我對錶現非常滿意。

請告知並在此點亮一些。

感謝和問候。

+0

聯繫信息可以去[here](http://stackoverflow.com/users/1826727/murugesan)。 – trashgod 2013-03-28 03:53:44

回答

1
  1. 我可以只有鏈接表的所有主數據庫在公司數據庫?是的,這是可能的,甚至認爲不是很常見。這真的取決於用例。

  2. 是否可以接受不具有外鍵關係?如果你在MainDB中的兩個表之間定義了一個外鍵關係,那麼即使你在CompanyDB中進行更新,它仍然會被檢查。跨數據庫不能有外鍵關係,但這是否正確取決於用例。例如在NoSQL數據庫中,通常沒有任何外鍵關係。

  3. 創建大約60鏈接的表,會降低性能?鏈接表的數量不是問題。但請注意,每個鏈接表單獨比正規錶慢。這是否可以接受取決於用例。

+0

謝謝托馬斯。你能不能建議我以其他方式實現它,而不使用鏈接表。 ?目前,我正在同時插入兩個數據庫。請告訴我。 – Murugesan 2013-03-28 07:08:12

+1

有多種方式來實現它。一種方法是使用Web服務(使用RESTful API)。但它確實取決於用例。恐怕這是一個討論可能的應用程序體系結構的錯誤論壇。 – 2013-03-28 07:51:15