【问题标题】:Should I create special schema for each web application or put it all in a single schema?我应该为每个 Web 应用程序创建特殊的模式还是将它们全部放在一个模式中?
【发布时间】:2014-07-30 00:08:43
【问题描述】:

您好,我正在为一个包含两个部分的 Web 应用程序设计 MySQL 数据库:

  1. 第一部分是维护国家/组织/子组织/用户层次结构、服务参数和用户角色的成员系统。
  2. 第二部分是一个 Web 应用程序,用于管理这些订单中的订单和任务。它将使用成员系统对用户进行身份验证,并为该 Web 应用配置其角色和服务参数。
  3. 将来会有另一个电子拍卖应用程序(以后可能会更多),它将使用相同的成员系统来验证用户并获取电子拍卖的角色和服务参数。

所有这些网络应用程序通常会被相同的组织/用户使用。为每个应用程序创建单独的模式并在它们之间创建外键是个好主意吗?例如,用于管理订单的 webapp 将拥有自己的架构,成员系统将拥有自己的架构,订购 webapp 的表将引用成员架构中的表(因为订单具有所有者 = 组织、用户等)。稍后拍卖 webapp 将在成员系统模式中拥有自己的模式引用表。这种设计的优缺点是什么?或者您会建议将它们全部放在一个模式中吗?请指教。

谢谢。

【问题讨论】:

    标签: mysql database-design database-schema


    【解决方案1】:

    你想为每个应用分离数据库设计

    • 出于安全原因
    • 保持整洁
    • 等等

    另一方面,您希望与用户信息共享同一个表,并且不想放弃外键关系。我也不会省略。

    那么,这个怎么样:

    拥有一个架构,您只需在其中维护您的用户信息。在此表上,您放置了一个触发器,该触发器在插入后将该行插入到您所有其他应用程序架构中的相同表中。
    因此,当您创建新用户时,您只需在主模式的成员表中创建一个条目。是只写。在每个应用程序的每个架构中,您都有另一个成员表(可以由外键引用),这是一个只读表。

    【讨论】:

      猜你喜欢
      • 2017-03-06
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 2012-08-07
      • 2011-04-10
      • 2020-12-20
      相关资源
      最近更新 更多