【问题标题】:how to implement database schema that host data of many different companies?如何实现托管许多不同公司数据的数据库模式?
【发布时间】:2017-11-19 18:26:23
【问题描述】:

我正在使用 MYSQL 数据库。我为我的应用程序创建了一个模式,但我的问题是我的应用程序将托管许多不同公司的数据。我想知道我是否必须为每个公司复制相同的模式,或者有没有办法使用相同的模式来托管所有公司的数据。提前致谢

【问题讨论】:

    标签: php database


    【解决方案1】:

    有一个名为 company_name 的列并在其中插入公司名称

    【讨论】:

    • 是的当然@jNg,我已经知道这个技术,感谢确认我做的是正确的......谢谢
    【解决方案2】:

    看,一般来说,如果你有非结构化和不可预测的数据结构,那么没有 sql 将是最好的选择,但很难维护你的代码。但是,如果您愿意使用 mysql 等基于模式的数据库,那么您应该为所有公司提供一个模式。您可能有一个用于常见公司属性的模式和一个用于不可预测属性的字段。您可能有一个名为“company_data”的属性,其数据类型为 json(请看这里https://dev.mysql.com/doc/refman/5.7/en/json.html

    您的公司表可能看起来像

    -----------------------------------------------------------------------
    | title | address           | company_data                            |
    -----------------------------------------------------------------------
    | IBM   | 15, miami str,... | {"space": 122, "num_of_employess": 1000}|
    -----------------------------------------------------------------------
    | Google| sillicon valley   | {"number_of_products": 122,"traffic": 12|
    -----------------------------------------------------------------------
    

    【讨论】:

    • 谢谢我会试试@Alaa Attya Mohamed
    【解决方案3】:

    这种技术称为多租户数据库。 您可以检查此问题以更好地理解

    How to design a multi tenant mysql database

    【讨论】:

      猜你喜欢
      • 2021-08-14
      • 2013-01-12
      • 2013-05-18
      • 2016-01-13
      • 2013-07-02
      • 1970-01-01
      • 2022-01-25
      • 2012-08-11
      • 2020-08-21
      相关资源
      最近更新 更多