我正在为一个复杂的拍卖网站设计一个在线市场。
鉴于每个数据库的增长潜力和复杂性,我将成员数据库和产品数据库分开。问题是如何处理两个独立数据库之间的参照完整性?关系可以是一对一或一对多。我已经阅读了很多关于使用触发器、将表以只读方式从一个数据库复制到另一个数据库的信息;显然不会以孤立行结束。
我知道网站上有类似的问题,但没有一个具体的答案。
我正在为一个复杂的拍卖网站设计一个在线市场。
鉴于每个数据库的增长潜力和复杂性,我将成员数据库和产品数据库分开。问题是如何处理两个独立数据库之间的参照完整性?关系可以是一对一或一对多。我已经阅读了很多关于使用触发器、将表以只读方式从一个数据库复制到另一个数据库的信息;显然不会以孤立行结束。
我知道网站上有类似的问题,但没有一个具体的答案。
鉴于每个数据库的增长潜力和复杂性,我将成员数据库和产品数据库分开。问题是如何处理两个独立数据库之间的参照完整性?
这可能是一个可以防御的策略,也可能是一场灾难。这部分取决于您的 dbms。在大多数情况下,您会使用多个模式而不是多个数据库来解决此类问题。(从这个意义上说,模式是您在运行CREATE SCHEMA 语句时得到的。)外键引用在多个模式中工作正常。许多支持多个 SQL 模式的 dbms不支持对其他数据库的简单外键引用。
MySQL 不支持 CREATE SCHEMA。相反,MySQL 数据库的行为很像 SQL 模式。
不要分开。数据库的处理能力取决于托管数据库的服务器的处理能力。如果有 2 个不同的模式,那么您可能会出于任何原因考虑分离。对于相同的模式符合条件的对象,我建议不要分开,而是托管在性能更好的服务器中。