2010-11-18 7 views
0

태그 사용에 대한 조언이 필요합니다. 현재 웹 사이트에서 일하고 있으며 사용자는 자신에 대한 비디오, 이미지, 오디오 및 정보를 게시 할 수 있습니다.태그에 대한 조언이 필요합니다.

정상적인 웹 사이트에서 이전에 태그로 작업 한 적이 없습니다. (워드 프레스, 유튜브 등에서 작업 한 적이 있습니다.) 그래서 데이터베이스 디자인을 시작할 필요가 있습니다.

여러 카테고리가있는 경우 태그를 사용하여 작업하는 일반적인 방법은 무엇입니까? 각 카테고리에 태그를 추가해야합니까? 예 :

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

0

기술적으로 가장 좋은 형식은 처음에 설명한 형식이지만, 두 번째 구현하려는 경우 추가 필드가 필요합니다. 즉 범주 필드가 필요합니다. 그러나 각 테이블의 태그 필드를 단순하게 만드는 것이 더 쉽고 쉽습니다. 가독성을 높이고 사이트에 구현할 때 사용하는 것이 좋습니다.

희망이 있습니다.

+0

확실히 도움이됩니다. 당신의 도움을 주셔서 대단히 감사합니다. – moonwalker

1

응용 프로그램을 어떻게 구성해야하는지는 사용자에게 달려 있습니다. 갤러리와 오디오간에 태그를 공유하려면 단일 테이블과 두 개의 다 대다 참조 테이블 (또는 다형성이있는 테이블)을 사용하십시오.

+0

감사합니다. 각 카테고리에 대해 별도의 태그를 사용하겠습니다. :) – moonwalker

관련 문제