使用参照完整性处理多个数据库的最佳方法

时间:2013-01-16 02:04:20

标签: database

我正在为复杂的拍卖网站设计一个在线市场。

鉴于每个数据库的增长和复杂性的潜力,我正在分离成员和产品的数据库。问题是如何处理两个独立数据库之间的参照完整性?关系可以是一对一或一对多。我已经阅读了很多关于使用触发器的信息,将表从一个数据库复制到另一个数据库;显然不会以孤儿行结束。

我知道网站上有类似的问题,但没有一个具体的答案。

2 个答案:

答案 0 :(得分:2)

  

鉴于每个数据库的增长和复杂性的潜力,我是   分离成员和产品的数据库。问题是什么   与两个独立数据库之间的参照完整性有关吗?

这可能是一种可防御的策略,也可能是一场灾难。这部分取决于你的dbms。在大多数情况下,您会使用多个模式而不是多个数据库来解决此类问题。 (从这个意义上讲,模式是运行CREATE SCHEMA statement时获得的模式。)外键引用在多个模式中工作正常。许多支持多个SQL模式的dbms 不支持支持对其他数据库的简单外键引用。

MySQL不支持CREATE SCHEMA。相反,MySQL数据库的行为与SQL模式非常相似。

  

CREATE SCHEMA is a synonym for CREATE DATABASE

答案 1 :(得分:1)

不要分开。数据库的处理能力取决于托管数据库的服务器的处理能力。如果有2种不同的模式,那么你可能会想到因任何原因而分离。对于相同的模式符合条件的对象,我建议不要分开,而是在更好的服务器中托管。