2013-03-28 33 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