Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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/56.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 ID'的列表;s作为行中的字段_Php_Mysql_Arrays_List - Fatal编程技术网

Php ID'的列表;s作为行中的字段

Php ID'的列表;s作为行中的字段,php,mysql,arrays,list,Php,Mysql,Arrays,List,我有两个表:一个是大的,扩展的,它是table\u news,另一个非常简单,只有两个字段:id和name,叫做table\u categories。所以,很明显,我想对每一条新闻都有一些分类。我知道我可以创建一个新表:table\u news\u categories,它将包含类似以下内容:id,news\u id,category\u id。但对我来说,这有点言过其实。我不能在table_news中设置一个类似categories的列,它将是类别ID的“数组”吗?这不是更简单、更容易处理吗?

我有两个表:一个是大的,扩展的,它是
table\u news
,另一个非常简单,只有两个字段:
id
name
,叫做
table\u categories
。所以,很明显,我想对每一条新闻都有一些分类。我知道我可以创建一个新表:
table\u news\u categories
,它将包含类似以下内容:
id
news\u id
category\u id
。但对我来说,这有点言过其实。我不能在
table_news
中设置一个类似
categories
的列,它将是类别ID的“数组”吗?这不是更简单、更容易处理吗?

如果您想要数据库的灵活性,您应该有一个链接表

table_news 
table_categies
table_news_categories (linktable that links the above table together)
如果不需要灵活性,您可以始终在
表\u news
-表中添加FORIDCategory或类似字段,以创建表之间的关系

table_news 
table_categies
根据经验,我认为最好的方法是从头开始添加另一个(链接)表。一开始看起来似乎没有必要,但如果数据库增长,您肯定会需要它。当数据库中有大量数据时,以后更难更改数据库结构

示例:
现在有100条新闻分为10类。大约半年后,你可能会收到10000条新闻。现在,您需要为一些新闻设置两个类别。然后,您将创建链接表,基于新链接表中的FORIDCategory-值创建所有关系,然后删除FORIDCategory-字段并保持数据库的所有完整性。

这并不是一个涉及解决编程问题的问题,还是一个问题?这对我来说非常不清楚。我想问一下,是否有可能将ID数组作为一列处理,并了解这是否是一种好的做法,以及它是否是好的:它是否可以与具有附加表的解决方案进行比较。好的。现在我想我也明白你的问题了。回答,“这不是更简单更容易处理吗?”——不,不会。您可能认为这是为了更简单的查询,但只要您想对数据“做更多”,您就会意识到这实际上是非常有限的。正常化是有原因的。参见规范化。