【问题标题】:Is it safe to have "relational database?"拥有“关系数据库”是否安全?
【发布时间】:2011-08-11 21:53:24
【问题描述】:

我只想知道拥有两个相互关联的数据库是否安全,而不是数据库中的表相互关联? (不要误会我的意思,表格仍然是相关的)

【问题讨论】:

  • 更详细地解释两个数据库的含义。同一台计算机上的不同数据库?不同的供应商(MySQL 和 SQL Server/Oracle/PostgreSQL/等)?
  • 你一直在用那个词。我不认为这个词意味着你认为它的意思。
  • 我认为你的意思是在表之间有外键。一个表一个关系(粗略地说);它与其他表没有“关系”。
  • 嗯,你不会得到任何参照完整性,但除此之外我没有看到任何问题。
  • @Marcelo:我现在可以看到,坐在法庭上的比尔克林顿说,“我和那张桌子没有关系。”

标签: mysql sql database relational-database


【解决方案1】:

实际的关系通常由使用数据库的应用程序强制执行。因此,如果您有一个从数据库 A 到数据库 B 的关系,那么您可以像在应用程序中那样实现它。

当然,通过拥有两个不同的数据库,您无法获得通常从数据库系统获得的关系的内部支持。因此,例如,您不能指定外键并基于它们添加规则。

【讨论】:

    【解决方案2】:

    您可以这样做,但这可能不是一个好主意。为了保持一个数据库中的表和另一个数据库中的表之间的关系完整性,您需要使用某种涵盖两个数据库的分布式事务。这比跨单个数据库的事务要复杂得多。

    【讨论】:

      【解决方案3】:

      这取决于您所说的“安全”是什么意思。如果您的表是 InnoDB,您可以在同一服务器中跨数据库执行事务。外键约束显然是also work.

      我相信,在多台服务器上强制执行其中任何一个都是不可能的。

      【讨论】:

        猜你喜欢
        • 2016-09-20
        • 2014-03-29
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        • 1970-01-01
        • 2021-07-19
        • 2012-04-11
        • 1970-01-01
        相关资源
        最近更新 更多