2010-11-18 9 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 

をお1つの多型テーブルでこれを行うこともできます。

tag_relations 
tag_id 
object_id 
object_table 
+0

詳細な回答ありがとうございます。私はそれぞれのカテゴリのために別々のタグのために行くでしょう、そうでなければ混乱になります。 もう一度おねがいします! – moonwalker

0

技術的には、最初に説明したフォーマットが最も優れていますが、2番目のフォーマットを実装する場合は、追加フィールド(カテゴリフィールド)が必要です。しかし、各テーブルにタグフィールドを持たせるのは簡単で簡単になるでしょう。読みやすくするためにも、サイトに実装するときにも使用する方がよいでしょう。

希望に役立ちます。

+0

確かに役立ちます。ご助力ありがとうございます。 – moonwalker

1

アプリケーションをどのようにシェイプする必要がありますか。ギャラリとオーディオの間でタグを共有する場合は、単一のテーブルと2つの多対多参照テーブル(または多態性を持つもの)を使用します。

+0

ありがとう!私は、各カテゴリごとに別々のタグを用意しています。 :) – moonwalker

関連する問題