2009-06-22 4 views
0

사용자가 항목을 만들 때 사용하는 HTML 양식이 있습니다. 항목은 일반적인 SQL 쿼리를 사용하여 검색됩니다. 이제 HTML 폼의 각 항목에 태그 필드가 제공됩니다. 따라서 항목을 생성하는 동안 사용자는 항목에 대한 태그 이름을 입력하고 항목은 태그 이름과 함께 생성됩니다. 사용자는이 태그 이름을 사용하여 항목을 검색합니다.태그를 통해 검색을 허용 하시겠습니까?

이것을 구현하는 가장 좋은 방법은 무엇일까요? 모든 항목 테이블에 태그 열을 추가하는 것이 좋습니다. 다른 가능한 옵션은 무엇입니까?

답변

0

저는 데이터베이스 서버로의 왕복을 최소화하고자합니다. 태그는 관심있는 항목 중 하나의 속성 일 가능성이 높으며 많은 관계가됩니다. 이것은 잘 밟힌 경로이며 자세한 정보는 here을 참조하십시오.

item_tag 
     item_id 
     tag_id 
tags 
     id 
     name 

post_tag 표를 사용

item_tag 
     item_id - Integer 
     tag_name - Varchar 

또는 두 개의 테이블 : 여러 태그를 추가 할 수있게하려면

0

, 다음 가장 좋은 방법은이 같은 테이블을 구현하는 것 어떤 태그가 어떤 항목과 연관되어 있는지의 목록을 포함합니다. 당신이 태그에 의해 항목을 검색 할 경우, 당신은

SELECT * FROM `items` LEFT JOIN `item_tag` ON `items`.`id` = `item_tag`.`item_id` WHERE `tag_name` = 'value' 

Here is a post 세 개의 테이블을 사용하여 제안하는 태그 시스템을 구현하는 가장 좋은 방법을 논의 할 수있는; 예 : items, tags, items_tags

관련 문제