2010-12-09 4 views
2

제가 작업하고있는 웹 사이트에 태그 시스템을 구현하고 싶습니다. 나는 이것에 관한 이론적 인 질문이있다. 내 데이터베이스에 이러한 태그를 어떻게 저장합니까?태그 시스템에 어떤 종류의 테이블을 사용할 수 있습니까?

예를 들어 두 개의 열이있는 표를 사용하는 경우 태그와 postId는 인기있는 경우 특정 태그를 엄청나게 많이 가질 수 있습니다. 그래서 이것이 최선의 방법인지 확실하지 않습니다.

tag-----id 
cool----23 
cool----12 
cool----39 

이를 달성하기 위해 더 나은 방법이 있습니다

내가 게시물에 태그를 추가 할, 내가 태그 '냉각'3 개 게시물이 있다면 나는 이런 일이있을 것이다?

CREATE TABLE posts (id, title, body) 
CREATE TABLE tags (id, tag) 
CREATE TABLE posts_tags (tag_id, post_id) 

이 괜찮 :

+0

[태그 지정을위한 데이터베이스 디자인] (http://stackoverflow.com/questions/48475/database-design-for-tagging) 및 [다중 db 테이블을 태그 할 수있는 태그 시스템 디자인] (http : // stackoverflow .com/questions/2360629/design-tag-system-that-can-tag-multiple-db-tables)를 참조하십시오. 제발 무시하지 마십시오 [http://stackoverflow.com/questions/ask-advice](http://stackoverflow.com/questions/ask-advice) – Gordon

답변

6

당신은 포스트 테이블, 태그 테이블과 조인 테이블을합니다. tag, tag_id 및 post_id 열에 색인을 추가해야합니다.

+0

prexactly - 이것은 N : N 관계를하는 방법입니다 – zanlok

관련 문제