Да, Вы правы. Такая схема более удобная.
Upd:
Добавил 2 таблицы:
MySQL
--
-- Все теги
--
CREATE TABLE IF NOT EXISTS ?_blog_tags (
`tag_id` int(11) NOT NULL AUTO_INCREMENT,
`tag_text` varchar(50) NOT NULL,
PRIMARY KEY (`tag_id`),
UNIQUE KEY `tag_text` (`tag_text`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--
-- Теги топика
--
CREATE TABLE IF NOT EXISTS ?_blog_topic_tags (
`topic_id` int(11) NOT NULL,
`tag_id` int(11) NOT NULL,
PRIMARY KEY (`topic_id`,`tag_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Как при этом сделать правильно INSERT? Получается что нужно положить метку в
?_blog_tags а потом передать этот id в ?_blog_topic_tags..