回答
基本上你需要的標籤(ID,標籤)表和標籤到崗位M:M關係關係表(TAG_ID,POST_ID)。要選擇一個給定的標籤
select posts.* from posts, tags, post_tags
where post_tags.post_id = posts.id
and post_tags.tag_id = tags.id
and tags.tag = "whatever_tag"
帖子迴應的評論:單個表(TAG,後)的做法,可能會出現「更簡單」,但它不是完全可擴展的。如果你決定添加一些額外的信息到你的標籤 - 如創建日期或創建它,會怎樣?或者讓用戶擁有「最喜歡的標籤」,就像SO這樣 - 沒有單獨的標籤表,這將會很棘手。
一般來說,最好保留數據庫normalized,即使它在開始的時候看起來很「複雜」。
感謝stereofrog,我想知道如果做1表會更好:標籤(tagtitle,entryid)? – Ryan 2010-03-14 21:00:51
我同意stereofrog。 2表方法可能是最好的方法。保持您的標籤表清潔和獨特也允許M:M關係 – Jayrox 2010-03-14 21:33:48
@Tom:請參閱編輯... – user187291 2010-03-14 21:55:09
有一些很好的推理和性能測試可以在文章中"Tagsystems: performance tests"
- 1. 支持標籤/標籤的最常用的版本控制系統是什麼?
- 2. 什麼文件系統支持Java UserDefinedFileAttributeView?
- 3. 什麼是AEM 6.2支持的所有操作系統?
- 4. iPhone支持的ID3標籤中的APIC格式是什麼?
- 5. 什麼是持久性C++系統?
- 6. smarty標籤和css條件標籤是一樣的,解決方案是什麼?
- 7. RSS 2.0描述標籤中支持的元素是什麼?
- 8. 目標不支持該體系結構的含義是什麼?
- 9. 標記系統中的taggable_id是什麼?
- 10. Oracle SQL是否支持系統函數中的輸出參數?
- 11. 的標籤系統
- 12. 什麼系統不支持waitpid的WNOHANG選項?
- 13. 什麼是C++方案的標記數據的替代方案
- 14. 標準操作系統命名方案
- 15. PHP支持聊天系統
- 16. 支持android系統中
- 17. iOS日曆是否支持URL方案?
- 18. 爲什麼Hadoop文件系統不支持隨機I/O?
- 19. 爲什麼Sitecore 8.2不支持Windows 7操作系統?
- 20. 爲什麼Bootloader需要支持文件系統?
- 21. 爲什麼Bootstrap網格系統默認不支持5列?
- 22. 什麼源碼控制系統支持觸發器
- 23. 爲什麼HTML5中不支持標題大小標籤?
- 24. PHP標籤系統
- 25. 什麼是Android支持庫?
- 26. 以編程方式確定系統是否支持待機
- 27. 標籤系統中標籤的ID
- 28. 什麼是我的方案
- 29. 什麼是遠程桌面/視覺支持的最佳解決方案?
- 30. CRM系統還是什麼?
可能重複:http://stackoverflow.com/questions/20856/how-do-you-recommend-implementing-tags-or-tagging – APC 2010-03-14 20:39:33