[英]MySQL Multiple tables or multiple values for single field?
这是我已经遇到了一段时间的问题,并且不确定什么是解决它的最佳方法。 使用示例可能更容易解释。
所以我有很多收藏品和很多物品。 有些项目可以属于一个或多个集合,或者根本不属于一个集合。 集合必须至少包含一项,但是它可以拥有的项目数没有限制。
如何将这些信息存储在MySQL数据库中/最有效的方法是什么?
我已经有一个项目表,每个项目都有一个唯一的ID,这就是简单的部分,创建收藏集部分正是我要坚持的地方。
是否为每个集合创建一个新表,为其指定唯一的表名,并为该集合中的每个项目插入新记录?
我是否仅创建一个大集合表,每个记录都是一个新集合,并且所有项目ID都位于一个字段中?
还有另一种方法吗?
如果对数据库结构有任何影响,将使用php网站进行查询。
我想你应该..
创建一个包含所有集合的collection table
,一个包含所有项目的item table
以及一个collection-item map table
,该collection-item map table
将具有id
(主键), collection_id
(集合表的外键), item_id
(项目表的外键)。 该表将表示集合和项目之间的关系。 它可以具有任意数量的收集项目关系。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.