行中的 ID 列表作为字段


List of ID's as field in row

>我有两个表:一个是大的,扩展的,它是table_news的,一个非常简单,只有两个字段:idname,它被称为table_categories。所以,很明显,我想为每个新闻设置一些类别。我知道我可以创建一个新表:table_news_categories将包含以下内容:idnews_idcategory_id。但对我来说,这有点夸大其词。我不能在table_news中有一个像 categories 这样的列,这将是类别 ID 的"数组"吗?处理起来不是更简单、更容易吗?

如果你想在你的数据库中有灵活性,你应该有一个链接表

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 值创建到新链接表中的所有关系,然后删除 FORIDCategory 字段并保持数据库的所有完整性。