Esquema de base de datos para los tags (Palabras clave)
Posted on March 31st, 2009 in Base de Datos, mysql | No Comments »
Los tags son palabras clave que carecen de jerarquía y son asignadas a una entidad para describirla. Estos metadatos facilitan la búsqueda y exploración de estos recursos.
En un proyecto en el que me encuentro trabajando estoy por introducir un sistema de tags para asignar metadatos a una serie de recursos. El punto sobre el que estoy trabajando es en la definición del esquema de la base de datos que me permita añadir tags de forma flexible logrando realizar búsquedas sobre esta información.
Un excelente recurso que encontré es la página de Philipp Keller en la cual nos plantea tres esquemas diferentes:
Solución “MySQLicious”. Una sola tabla sin normalizar. Implementación sencilla pero presenta limitantes en el número de tags a asignar.

Solución “Scuttle”. Se presenta una tabla de categorías adicional. Presenta mejor normalización y flexible en cuanto al número de tags.

Solución “Toxi”. Tres tablas en la cual cada tag tiene una relación N a M con las entidades.

Philipp nos explica a detalle cada uno de estos esquemas y nos ofrece claros ejemplos de consultas que vamos a necesitar para las diferentes operaciones.
http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html
También nos ofrece pruebas de rendimiento que nos ayudarán en la adopción del mejor esquema.
http://www.pui.ch/phred/archives/2005/06/tagsystems-performance-tests.html
Los tag clouds o nubes de tags son representaciones visuales de las palabras claves de un sitio. En mi investigación sobre recursos de tags me encontré este sitio muy entretenido que te permite generar nubes de tags con interesantes diseños ya sea de un texto o una página. Genera muy buenos resultados.
http://www.wordle.net/
Me ayudo a generar el siguiente tag cloud de la Canción de las Noches Perdidas de Joaquin Sabina.



