ID列表作为行中的字段

时间:2015-03-07 10:33:07

标签: php mysql arrays list

我有两个表:一个是大的,扩展的,它是table_news,一个很简单,只有两个字段:idname,它叫做table_categories 。所以,显而易见的是,我希望每个新闻都有一些类别。我知道我可以创建一个新表:table_news_categories,其中包含:idnews_idcategory_id。但对我来说,这有点夸大其词。我不能在categories中有table_news这样的列,它会是类别ID的“数组”吗?处理它会不会更简单,更容易?

1 个答案:

答案 0 :(得分:0)

如果您想要数据库的灵活性,您应该有一个 link-table

table_news 
table_categies
table_news_categories (linktable that links the above table together)

如果您不需要灵活性,可以随时在table_news - 表中添加 FORIDCategory 或类似字段,以创建表。

table_news 
table_categies

根据经验,我会说最优选的方法是从头开始添加另一个(链接)表。它在开始时似乎是无关紧要的,但如果数据库增长,你肯定需要它。稍后在拥有大量数据时更改数据库结构会很困难。

示例: 您现在有100个新闻,分为10个类别。在大约半年内,你可能会有10.000个新闻。现在你想要一些新闻有两个类别。然后你就可以创建链接表,根据 FORIDCategory -value创建所有关系到新的链接表中,然后删除 FORIDCategory -field并保持数据库的完整性。