用户生成的标签是否应该存储在单独的数据库表中?

时间:2018-07-31 22:40:42

标签: mysql sql database database-design

我正在创建网站的列表类型(例如Kijiji)。每个列表都可以有与其相关联的一堆逗号分隔的标签,例如:“纽约,狗护理,家庭宠物等...”。这些标签由用户自己创建列表时创建。我应该将它们存储在单独的数据库表中,并将该表链接到主列表表吗?还是可以将它们存储在列表表的列中?

什么是最好的方法?

谢谢

1 个答案:

答案 0 :(得分:1)

标记应存储在listingTags表中,每个列表和每个标记一行。

用逗号分隔的列表在SQL中不是适当的数据结构。仅当字符串是您永远不会关注的“ blob”时,才使用它。有了标签,您无疑想调查字符串,因此您可以查找带有特定标签的清单(例如),甚至只是获得已使用标签的列表。