Sobre las etiquetas en internet y la normalización de las bases de datos
Una de las novedades que ha incorporado lo que llaman "Web 2.0" es la posibilidad de poner etiquetas a todos los contenidos que se van subiendo a Internet. En los vídeos de YouTube, las fotos de Flickr o los enlaces de del.icio.us se hacen casi imprescindibles. Los blogs no iban a ser menos y también traen esta funcionalidad. Este artículo está marcado con las etiquetas "informática" y "programación" dentro del conjunto de categorías de Inforserranía.

Con las etiquetas este problema se ha solucionado porque cada artículo puede llevar ninguna, una, o todas las que se quieran. Podemos describir con un nivel de detalle muy alto el contenido de la información para facilitar su búsqueda y clasificación. La web semántica y los sistemas de inteligencia artificial se encargarán de asignar las etiquetas automáticamente en el futuro. Por ahora hay que hacerlo a mano, pero esto ya es otra historia.
El problema que tenemos a la hora de diseñar la estructura de una base de datos con etiquetas es simple. En teoría una relación m:m de muchos a muchos entre la tabla de artículos y la tabla de categorías o etiquetas. Hace falta una tabla adicional intermedia que almacene información sobre cuales artículos tienen asiguadas cuales etiquetas. Y por supuesto nuestro programa se tendrá que encargar del mantenimiento de las tres tablas, de su integridad, y de tareas como que no queden etiquetas desiertas, indices, cachés, etc. La ejecución de las partes más pesadas se haría solo en los momentos de las actualizaciones. Las visitas de los usuarios se despacharían con sencillas consultas.
Esta es la teoría.


Pero si nos ponemos en este plan de super-optimización y anti-desnormalización, a lo mejor habría que plantearse el escribir los programas directamente en ensamblador y no usar los modernos entornos con iconos y colorines que meten tantas capas intermedias de interpretación en la ejecución de los programas. A fin de cuentas nuestra violación de la primera forma normal en la base de datos y el tratamiento intensivo de cadenas de caracteres sólo es una capa más. Haciéndolo con un mínimo de cuidado parece que va funcionando bien en los actuales ordenadores.
Los buenos analistas tendrán que decidir a la vista del uso que se vaya a dar a la aplicación cual solución es la mejor.
Temas relacionados
- ¿Es el Optimus Keyboard un periférico de salida?
Comentarios