Ste*_*ven 2 mysql tags database-design
我正在开发一个接近stackoverflow.com的产品.需要海报为他的问题或任务输入标签.如何在数据库中存储这些标记,一个字段(列)或一个字段(列)用于一个标记?
我认为多对多关系会帮助你
就像是
-------- ----------------- ------------
- tags - <-------> - products_tags - <-------> - products -
-------- ----------------- ------------
Run Code Online (Sandbox Code Playgroud)
"多对多"方法是更加规范化的方法,但我认为最难实现,因为在这种情况下基于联接来获取给定"产品"的所有标签.好处:
另一种方法是将所有标记保存在由某个东西分隔的一个字段中(比如说逗号).在这里你有获得标签的速度.你只需要通过该分隔符拆分标签就可以了.保存标签也更容易.但我不喜欢这种方法,因为如果你需要更新模板,你需要逐篇文章,拆分,更新,然后保存..