[英]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.