Ну собственно 2 варианта, которые сразу в голову лезут:
1)
в базу пишем теги как есть, а выборку делаем вроде того: ...WHERE tags LIKE "%$tag%"
2)
Делаем таблицу тегов (id, title)
Делаем таблицу, для привязки тегов к материалам (tag_id, post_id)
при добавлении материала, парсим теги (explode(...)), вносим новые теги в таблицу тегов и выбираем id уже существующих, после чего добавляем все это в таблицу привязки тегов.
Выбор по тегу соответственно будет в разы быстрее (...WHERE tag_id IN(...))
Общий принцип, так сказать))))