2010-11-18 118 views
0

我只需要一些關於使用標籤的建議。我現在正在網站上工作,用戶可以發佈關於他們自己的視頻,圖片,音頻和信息。關於標籤的建議

我從來沒有在標準網站上使用標籤(在wordpress,youtube等上與他們合作過),所以我需要一些建議來開始設計我的數據庫。

當您有多個類別時使用標籤的常用方法是什麼?我必須爲每個類別添加標籤嗎? 例子:

Table: 
gallery 

gallery_id 
image 
tags 

Table 
audio 

audio_id 
title 
link 
audio_tags 

Etc... 

還是我只作命名爲「標記」一個表和它所有的標籤? 像: 表標籤:

tag_id 
tag 

在此先感謝。

回答

0

這取決於您是否希望在多個對象之間共享標籤。如果你想讓它分開,那麼我會爲它們製作單獨的標籤表。如果不是這樣,我也有同樣的標籤表,並使用不同的表爲每個關係標籤都會有,所以

單獨:

gallery 
... 
gallery_tags 
tag_id 
tag 

tags_to_gallery 
tag_id 
gallery_id 
..same for audio.. 

不獨立:

gallery 
    ... 
    audio 
    ... 
    tags 
    tag_id 
    tag 

    gallery_to_tag 
    gallery_id 
    tag_id 

    audio_to_tag 
    audio_id 
    tag_id 

你也可以用一個ploymorphic表來做到這一點。用類似這樣的表格:

tag_relations 
tag_id 
object_id 
object_table 
+0

謝謝你的詳細答案。我會爲每個類別分別添加標籤,否則將會是一團糟。 再次感謝! – moonwalker 2010-11-18 17:49:56

0

從技術上講,最好的格式是您首先描述的格式,但如果您要實施第二格式,則需要額外的字段 - 即類別字段。但是,簡單地在每個表格中添加標籤字段會更好也更容易 - 爲了便於閱讀,並且在您的網站中實施它時也會使用它。

希望有所幫助。

+0

當然有幫助。非常感謝您的幫助。 – moonwalker 2010-11-18 17:50:18

1

這取決於你如何塑造應用程序。如果您希望標籤在畫廊和音頻之間共享,請使用單個表格和兩個多對多參考表格(或具有多態性的表格)。

+0

謝謝!我想我會去爲每個類別分開標籤。 :) – moonwalker 2010-11-18 17:49:02