태그 입력 방식에 따른 구분
- 인스타그램형
- 본문 속에 #TAG 처럼 입력한다.
- 단순입력에 사용
- 장점 : 입력 부분을 하나로 처리할 수 있다.
- 단점 : 내용이 복잡해지고 #~~ 같은 다른 내용도 TAG로 동작하게 된다.
- 네이버 카페형
- 태그 입력 부분이 따로 있다.
- # 을 굳이 붙이지 않아도 된다.
- 보통 띄어쓰기나 ,(쉽표) 등으로 구분한다.)
- 장점 : 정확한 TAG 설정이 가능하다. 글의 내용과 상관 없이 설정할 수 있다.
- 단점 : 따로 태그 입력 부분이 있어야한다.
태그에 필요 내용
PK |
Field |
Type |
Comment |
PK |
bt_tag |
varchar(30) NOT NULL |
태그명 |
PK |
b_idx |
int(10) unsigned NOT NULL |
게시물번호 |
|
bt_update_count |
int(10) unsigned NOT NULL |
업데이트 횟수 |
|
bt_isdel |
tinyint(4) NOT NULL |
삭제여부 |
|
bt_insert_date |
datetime NULL |
삽입일 |
|
bt_delete_date |
datetime NULL |
삭제일 |
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에도 방해된다.