sql >> Base de Datos >  >> RDS >> Mysql

Configuración de un sistema de etiquetas para entradas en una base de datos MySQL

Almacenamiento de etiquetas en línea

Dependiendo del tamaño de sus etiquetas, puede almacenarlas dentro de article_tags tabla:

article_id | tag_contents

Agregar UNIQUE(article_id, tag_contents) para evitar almacenar etiquetas duplicadas por artículo

Importante

Este enfoque tiene un inconveniente; las etiquetas no están conectadas entre sí, por lo que si se realizan cambios en una etiqueta, debe actualizar las article_tags completas. mesa. Además, si las etiquetas son considerablemente más largas que 4 bytes, es mejor que elija la siguiente solución.

Almacenamiento de etiquetas externo

Crear otra tabla tags :

id | tag_contents

Añadir UNIQUE(tag_contents) para evitar almacenar etiquetas duplicadas

Modificar `article_tags:

article_id | tag_id

Agregar UNIQUE(article_id, tag_id) para evitar almacenar etiquetas duplicadas por artículo