【发布时间】:2017-11-19 18:26:23
【问题描述】:
我正在使用 MYSQL 数据库。我为我的应用程序创建了一个模式,但我的问题是我的应用程序将托管许多不同公司的数据。我想知道我是否必须为每个公司复制相同的模式,或者有没有办法使用相同的模式来托管所有公司的数据。提前致谢
【问题讨论】:
我正在使用 MYSQL 数据库。我为我的应用程序创建了一个模式,但我的问题是我的应用程序将托管许多不同公司的数据。我想知道我是否必须为每个公司复制相同的模式,或者有没有办法使用相同的模式来托管所有公司的数据。提前致谢
【问题讨论】:
有一个名为 company_name 的列并在其中插入公司名称
【讨论】:
看,一般来说,如果你有非结构化和不可预测的数据结构,那么没有 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|
-----------------------------------------------------------------------
【讨论】:
这种技术称为多租户数据库。 您可以检查此问题以更好地理解
【讨论】: