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

вы также мог бы сделать это с помощью одной плимоморфной таблицы. с таблицей с чем-то вроде этого:

tag_relations 
tag_id 
object_id 
object_table 
+0

Благодарим вас за подробный ответ. Я поеду для отдельных тегов для каждой категории, иначе это будет беспорядок. Еще раз спасибо! – moonwalker

0

Технически наилучший формат - это тот, который вы описали первым, но если вы собираетесь реализовать второе, вам понадобится дополнительное поле - это поле категории. Но было бы проще и проще просто иметь поля тегов в каждой таблице - лучше для читаемости, а также использовать, когда вы приступите к ее внедрению на своем сайте.

Надеюсь, что это поможет.

+0

Конечно помогает. Большое спасибо за Вашу помощь. – moonwalker

1

Это зависит от вас, как вам нужно сформировать приложение. Если вы хотите, чтобы теги делились между галереями и аудио, используйте одну таблицу и две таблицы ссылок «многие-ко-многим» (или одну с полиморфизмом).

+0

Спасибо! Я думаю, что пойдет по отдельным тегам для каждой категории. :) – moonwalker