Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组中的关系数据?_Php_Mysql - Fatal编程技术网

Php 数组中的关系数据?

Php 数组中的关系数据?,php,mysql,Php,Mysql,我想存储关系数据(整数)。 每个整数表示一个外部列: system table: | id | c1 | c2 | c3 | ... | c15 | |----|-----|-----|-----|-----|-----| | 21 | 2.2 | 2.4 | 2.6 | | 5.0 | |----|-----|-----|-----|-----|-----| collections table: | id | sytemId | collection | |----|

我想存储关系数据(整数)。 每个整数表示一个外部列:

system table:
| id |  c1 |  c2 |  c3 | ... | c15 |
|----|-----|-----|-----|-----|-----|
| 21 | 2.2 | 2.4 | 2.6 |     | 5.0 |
|----|-----|-----|-----|-----|-----|


collections table:
| id | sytemId |   collection   |
|----|---------|----------------|
|  8 |      21 | [1,3,6,4,2]    | // c1,c3,c6,c4,c2
|  9 |      21 | [12,8,10,7,11] | // c12,c8,c10,c7,c11
数组项的顺序很重要。 现在还没有必要搜索收藏。加载系统对象时,也会提取集合表中的所有相关条目,并在应用程序(php)中进行处理

现在我想知道这是否是实施这一计划的适当方式, 还是应该使用查找表?如果是这样的话,“收集”的最佳数据类型是什么?JSON

致意

现在我想知道,这是否是实施这一目标的适当方式

不,不,一千次不

还是应该使用查找表

对。您需要规范化此数据

尽管MySQL提供了存储JSON数据的方法,但如果您像这样存储这些多对一关系,您将无法获得关系数据管理系统的大部分好处

现在我想知道,这是否是实施这一目标的适当方式

不,不,一千次不

还是应该使用查找表

对。您需要规范化此数据

尽管MySQL提供了存储JSON数据的方法,但如果您像这样存储这些多对一关系,您将无法获得关系数据管理系统的大部分好处

外盒答案

不要考虑关系数据、规则、模型等,您可能会关注您的应用程序需求

MySQL中的JSON数据类型可以为RDBMS模型、架构模型带来更大的灵活性。您可以在MySQL中模拟整个面向文档的NoSQL数据库,但它可以,您也可以切换到真正的NoSQL系统。也就是说,JSON数据类型可以为基于SQL的应用程序中更模糊的数据需求节省一些精力

从MySQL 5.7.8开始,MySQL支持由定义的本机JSON数据类型 这使得能够高效地访问JSON(JavaScript)格式的数据 对象表示法)文档。JSON数据类型提供了以下功能 与将JSON格式字符串存储在字符串列中相比,它有很多优点

您必须计算这些数据可能变成的大小

存储JSON文档所需的空间与存储JSON文档所需的空间大致相同 LONGBLOB或LONGTEXT;重要的是要记住 存储在JSON列中的任何JSON文档的
max\u allowed\u数据包的
系统变量。(当服务器运行时) 在内存中内部操作JSON值时,它可以大于 此限制;当服务器存储此限制时适用。)

如果您需要查询它、进行搜索并使用DB JSON函数使用它,那么应该使用JSON数据类型

如果只需要使用DB JSON函数存储但从不使用此信息进行操作,则不应使用JSON数据类型,而可以使用简单的文本字段

如果您还不知道如何处理这些数据,请不要使用JSON格式,而是使用关系化和规范化的数据模型。无法为JSON值字段编制索引

更多信息:

外框答案

不要考虑关系数据、规则、模型等,您可能会关注您的应用程序需求

MySQL中的JSON数据类型可以为RDBMS模型、架构模型带来更大的灵活性。您可以在MySQL中模拟整个面向文档的NoSQL数据库,但它可以,您也可以切换到真正的NoSQL系统。也就是说,JSON数据类型可以为基于SQL的应用程序中更模糊的数据需求节省一些精力

从MySQL 5.7.8开始,MySQL支持由定义的本机JSON数据类型 这使得能够高效地访问JSON(JavaScript)格式的数据 对象表示法)文档。JSON数据类型提供了以下功能 与将JSON格式字符串存储在字符串列中相比,它有很多优点

您必须计算这些数据可能变成的大小

存储JSON文档所需的空间与存储JSON文档所需的空间大致相同 LONGBLOB或LONGTEXT;重要的是要记住 存储在JSON列中的任何JSON文档的
max\u allowed\u数据包的
系统变量。(当服务器运行时) 在内存中内部操作JSON值时,它可以大于 此限制;当服务器存储此限制时适用。)

如果您需要查询它、进行搜索并使用DB JSON函数使用它,那么应该使用JSON数据类型

如果只需要使用DB JSON函数存储但从不使用此信息进行操作,则不应使用JSON数据类型,而可以使用简单的文本字段

如果您还不知道如何处理这些数据,请不要使用JSON格式,而是使用关系化和规范化的数据模型。无法为JSON值字段编制索引


更多信息:

很简单:如果你想这样做,不要使用RDBMS。如果你使用的是MySQL 5.7.9+,你可以使用JSON数据类型,并将其存储为JSON数组。为了有所帮助,我需要更多的背景知识。我想我不明白你想要实现什么。另外,请告诉我们您已经尝试了什么,以及您认为自己陷入困境的原因/位置。很简单:如果您想这样做,请不要使用RDBMS。如果您使用的是MySQL 5.7.9+,您可以使用JSON数据类型,并将其存储为JSON数组。为了有所帮助,我需要更多的背景知识。我想我不明白你想要实现什么。另外,请告诉我们您已经尝试了什么,以及您认为自己陷入困境的原因/地方。一般来说,现在还没有,但考虑到应用程序需求、性能和可伸缩性,例如,这个信息并不是绝对正确的。一般来说,现在还没有,但考虑到应用程序需求、性能和可伸缩性,这并非绝对真理。