태그 입력 방식에 따른 구분
- 인스타그램형
- 본문 속에 #TAG 처럼 입력한다.
- 단순입력에 사용
- 장점 : 입력 부분을 하나로 처리할 수 있다.
- 단점 : 내용이 복잡해지고 #~~ 같은 다른 내용도 TAG로 동작하게 된다.
- 네이버 카페형
- 태그 입력 부분이 따로 있다.
-
을 굳이 붙이지 않아도 된다.
- 보통 띄어쓰기나 ,(쉽표) 등으로 구분한다.)
- 장점 : 정확한 TAG 설정이 가능하다. 글의 내용과 상관 없이 설정할 수 있다.
- 단점 : 따로 태그 입력 부분이 있어야한다.
태그에 필요 내용
<tbody><tr class="captionfontstyle">&lt;td class="pkcolcaptionstyle"&gt;PK&lt;/td&gt;&lt;td class="colcaptionstyleleft"&gt;Field&lt;/td&gt;&lt;td class="colcaptionstyleleft"&gt;Type&lt;/td&gt;&lt;td class="colcaptionstyleleft"&gt;Comment&lt;/td&gt;</tr><tr class="datafontstyleroweven">&lt;td&gt;PK&lt;/td&gt;&lt;td class="cellstyleleft"&gt;bt_tag&lt;/td&gt;&lt;td class="cellstyleleft"&gt;varchar(30) NOT NULL&lt;/td&gt;&lt;td class="cellstyleleft"&gt;태그명&lt;/td&gt;</tr><tr class="datafontstylerowodd">&lt;td&gt;PK&lt;/td&gt;&lt;td class="cellstyleleft"&gt;b_idx&lt;/td&gt;&lt;td class="cellstyleleft"&gt;int(10) unsigned NOT NULL&lt;/td&gt;&lt;td class="cellstyleleft"&gt;게시물번호&lt;/td&gt;</tr><tr class="datafontstyleroweven">&lt;td&gt;&lt;/td&gt;&lt;td class="cellstyleleft"&gt;bt_update_count&lt;/td&gt;&lt;td class="cellstyleleft"&gt;int(10) unsigned NOT NULL&lt;/td&gt;&lt;td class="cellstyleleft"&gt;업데이트 횟수&lt;/td&gt;</tr><tr class="datafontstylerowodd">&lt;td&gt;&lt;/td&gt;&lt;td class="cellstyleleft"&gt;bt_isdel&lt;/td&gt;&lt;td class="cellstyleleft"&gt;tinyint(4) NOT NULL&lt;/td&gt;&lt;td class="cellstyleleft"&gt;삭제여부&lt;/td&gt;</tr><tr class="datafontstyleroweven">&lt;td&gt;&lt;/td&gt;&lt;td class="cellstyleleft"&gt;bt_insert_date&lt;/td&gt;&lt;td class="cellstyleleft"&gt;datetime NULL&lt;/td&gt;&lt;td class="cellstyleleft"&gt;삽입일&lt;/td&gt;</tr><tr class="datafontstylerowodd">&lt;td&gt;&lt;/td&gt;&lt;td class="cellstyleleft"&gt;bt_delete_date&lt;/td&gt;&lt;td class="cellstyleleft"&gt;datetime NULL&lt;/td&gt;&lt;td class="cellstyleleft"&gt;삭제일&lt;/td&gt;</tr></tbody>
CREATE TABLE tag
(
bt_tag
varchar(30) NOT NULL COMMENT ‘태그명’,
b_idx
int(10) unsigned NOT NULL COMMENT ‘게시물번호’,
bt_update_count
int(10) unsigned NOT NULL DEFAULT ‘1’ COMMENT ‘업데이트 횟수’,
bt_isdel
tinyint(4) NOT NULL DEFAULT ‘0’ COMMENT ‘삭제여부’,
bt_insert_date
datetime DEFAULT NULL COMMENT ‘삽입일’,
bt_delete_date
datetime DEFAULT NULL COMMENT ‘삭제일’,
PRIMARY KEY (bt_tag
,b_idx
),
KEY IDX_B_IDX
(b_idx
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’태그’
bt_tag와 b_idx 만 있어도 된다. 나머지는 통계용 등으로 사용할 데이터다.
추가내용
- 태그 갯수를 무한개로 하면 안된다, 최대 30개까지하자 (많으면 insert 에 그만큼 부하가 된다.)
- 태그의 길이도 최대 30글자 까지로 제한하자. (길이를 무한정 늘릴 수는 없다.)
- instargam의 경우 무조건 소문자로 처리된다.
- DB에 저장시 #는 저장하지 않아야한다. DB내에서는 무의미하고 index에도 방해된다.
🔗original-link