2011-08-04 75 views
1

我正在一個新聞網站上工作,我正在考慮實施一個標記系統(類似於本網站),您可以根據不同的分類類型對新聞進行分類,例如:newscategory(economy ,政治等),還包括諸如寫入的語言和新聞文章的類型(編輯,專題報道等)。標記系統設計問題

我應該如何區分這些不同的類別類型?我是否應該爲每個分類類型都有一個標籤表,還是應該將所有內容都放在一張表中,並且有一個標籤前綴,如「language:en」,「category:economy」?第二種解決方案似乎更加靈活,因爲我可以通過附加前綴來添加更多類型的照顧。然而,第一個解決方案感覺更有條理,更容易處理。

此外,我不知道你是如何確定什麼時候應該表示爲標籤,或者當它應該是數據庫中的列值/記錄(例如,如果語言應該是標籤,或者我的語言欄中是否有「News 「表?)。我不確定在哪裏畫線。

感謝

回答

1

難道是充分的理由認爲該標籤本身可以在一個層次結構進行排序?如果是這樣,只需在tags表中添加parent_tag_id即可。

id name   parent_tag_id 
------------------------------- 
1 language  null 
2 english  1 
3 french  1 
4 newscategory null 
5 economy  4 
6 politics  4 

您可能會將列視爲靜態字段並將其視爲動態行。保持較少的列數。語言可能是表格中所有字段的列應與語言相關聯。

+0

有趣,謝謝。儘管如此,我仍然傾向於爲每種類別使用不同的表格。我可能想要將更多的東西與類別類型聯繫起來,類別類型本身不一定是動態的,我更喜歡標準化的結構。 – Pking

+0

如果不同的類別類型具有不同的屬性類型和功能,那麼可以爲它們中的每個類別使用單獨的表格。如果他們都共享相同的屬性,除了名稱,那麼只需創建一個名爲categories的表。 – Johan