當前我使用逗號「,」將標籤保存爲文本,當我需要它們處理和使用某處時,我需要將字符串爆炸,例如「美國,加拿大,犯罪,多倫多,音樂,落」。這樣做標籤的使用逗號在db中保存標籤的更好方法是什麼?
我就在想,如果有什麼更好的方法(更少的資源和耗時型),或者這是每個人都使用的唯一解決方案。
編輯: 我有一個小項目,沒有管理員標籤管理。我不需要爲db中的標籤設置三個表格。我只是尋找一些更聰明的解決方案,如何保存和爆炸數據庫中保存的字符串標籤。
當前我使用逗號「,」將標籤保存爲文本,當我需要它們處理和使用某處時,我需要將字符串爆炸,例如「美國,加拿大,犯罪,多倫多,音樂,落」。這樣做標籤的使用逗號在db中保存標籤的更好方法是什麼?
我就在想,如果有什麼更好的方法(更少的資源和耗時型),或者這是每個人都使用的唯一解決方案。
編輯: 我有一個小項目,沒有管理員標籤管理。我不需要爲db中的標籤設置三個表格。我只是尋找一些更聰明的解決方案,如何保存和爆炸數據庫中保存的字符串標籤。
使用三表法,真的!真的真的!
否則,您將如何查詢帶有「usa」標籤的物品,而不會獲取標記爲「可用」的物品? LIKE %usa%
將同時返回。響應 http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html
編輯評論:
的討論在DB執行代碼中看到這三種方法
逗號,逗號,逗號......
逗號不會幫助不會幫助。示例標籤字段:culture,usa
。你將如何LIKE
這?
你可以說是保存格式標籤:,culture,usa,
(說明並用逗號結尾)。
Imho會帶來一些特殊情況,它最終會變得更復雜,三表方法。
逗號,逗號,逗號... – Derfder 2012-08-15 18:55:52
我在多個地方看到人們建議三表解決方案。爲什麼三不夠兩?說一個名爲articles的表和一個名爲tags的表。文章包括id,主題和作者。標籤包括ID,標籤和articleId。這可能是一個問題嗎? – 2012-08-15 19:13:41
@Oskwish因爲只有兩張桌子,你只有一對多的關係。標籤只能指向一篇文章。 – 2012-08-15 19:17:19
假設標籤相關的一些項目(用戶,博客等),有一個簡單的方法來做到這一點
Table_Tags
{
tag_id:index for the table entries,
item_id,
tag_code: usa,
source: app_system, comment, fb, twitter etc
<other audit fields>
}
在處理物品/填充項目,該標籤可以是人口也是如此。
希望對您有所幫助
以前問:你怎麼建議實施標籤](http://stackoverflow.com/questions/20856/how-do-you-recommend-implementing-tags-or-tagging)。 – DCoder 2012-08-15 18:19:09
逗號永遠不會保存在數據庫中... – Esailija 2012-08-15 18:25:54
如果您有一列,那麼您的建議是什麼?我有一個簡單的博客,不需要三個表格來標記標籤。 – Derfder 2012-08-15 18:27:18