Php MySQL多个表还是单个字段的多个值?

Php MySQL多个表还是单个字段的多个值?,php,mysql,database,database-design,relational-database,Php,Mysql,Database,Database Design,Relational Database,这是一个问题,我已经有一段时间,不知道什么是最好的办法来解决它。 对我来说,用一个例子来解释可能更容易 所以我有很多收藏品和很多物品。某些项目可以属于一个或多个集合,也可以根本不属于任何集合。集合必须至少有一个项目,但对其可以拥有的项目数没有限制 如何将这些信息存储在MySQL数据库中/最有效的方法是什么 我已经有了一个项目表,每个项目都有一个唯一的ID,这是最简单的部分,创建集合部分是我遇到的难题 我是否为每个集合创建一个新表,给它一个唯一的表名,并为属于该集合的每个项插入新记录 我是否只创建

这是一个问题,我已经有一段时间,不知道什么是最好的办法来解决它。 对我来说,用一个例子来解释可能更容易

所以我有很多收藏品和很多物品。某些项目可以属于一个或多个集合,也可以根本不属于任何集合。集合必须至少有一个项目,但对其可以拥有的项目数没有限制

如何将这些信息存储在MySQL数据库中/最有效的方法是什么

我已经有了一个项目表,每个项目都有一个唯一的ID,这是最简单的部分,创建集合部分是我遇到的难题

我是否为每个集合创建一个新表,给它一个唯一的表名,并为属于该集合的每个项插入新记录

我是否只创建一个大型集合表,每个记录都是一个新集合和所有项目ID的单个字段

还有别的方法吗

如果这对数据库结构有任何影响,将使用php站点进行查询。

我认为您应该

创建一个包含所有集合的
集合表
,一个包含所有项目的
项目表
,以及一个
集合项目映射表
,该表将具有
id
(主键),
集合id
(集合表外键),
项目id
(项目表外键)。此表将表示集合和项目之间的关系。它可以有任意数量的收款项关系


希望这有帮助。

太好了,听起来很完美。感谢您的快速响应。然后您可能需要查看SQL中的联接,因为这样您就可以合并这两个表了。我必须等待5分钟才能接受,现在就完成了