Ostatnimi czasy mam styczność wieloma projektami Web 2.0.

Typowym elementem w takich projektach są tagi. Nie tak dawno trafiłem na bardzo przyjemną funkcję MySQL'a, która pięknie pasuje do wyciągania z bazy tagów danego post'u w postaci stringa:

SELECT
posts.*,
GROUP_CONCAT(tags.name SEPARATOR ', ')
FROM
posts
LEFT JOIN posts_tags
ON (posts.id = posts_tags.post_id)
LEFT JOIN tags
ON (posts_tags.tag_id = tags.id)
GROUP BY
posts.*;

Naturalnie w wielu przypadkach wygodniejsze będzie operowanie na tagach zebranych do tablicy (dlatego proszę nie czepiajcię się w tej kwestii) - ten przykład podałem, żeby pokazać całkiem miły feature MySQL'a.