2010-12-09 31 views
2

我想在我正在處理的網站上實現標記系統。 我對此有個理論上的問題。我將如何將這些標籤存儲在我的數據庫中?什麼樣的表用於標籤系統?

如果例如我使用一個帶有兩列,標籤和postId的表,如果它受歡迎,我可以使用一個特定的標籤一個令人難以置信的次數!所以我不確定這是否是最好的方法。

如果我要添加標籤的帖子,我有3個職位與標籤「酷」我想有這樣的事情:

tag-----id 
cool----23 
cool----12 
cool----39 

是否有更好的方式來實現這一目標?

+0

[數據庫設計標記](http://stackoverflow.com/questions/48475/database-design-for-tagging)和[設計標記系統,可以標記多個數據庫表](http:// stackoverflow .COM /問題/ 2360629 /設計標籤系統 - 即燦標籤多DB-表)。請不要忽略[http://stackoverflow.com/questions/ask-advice](http://stackoverflow.com/questions/ask-advice) – Gordon 2010-12-09 21:32:42

回答

6

你想要一個職位表,標籤表和連接表:

CREATE TABLE posts (id, title, body) 
CREATE TABLE tags (id, tag) 
CREATE TABLE posts_tags (tag_id, post_id) 

這是好的。確保您在標籤,tag_id和post_id列上添加索引。

+0

prexactly - 這是你如何做任何N:N關係 – zanlok 2010-12-09 21:21:35