Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Configurando um sistema de tags para entradas em um banco de dados MySQL

Armazenamento de tags inline


Dependendo do tamanho de suas tags, você pode armazená-las dentro de article_tags tabela:
article_id | tag_contents

Adicione UNIQUE(article_id, tag_contents) para evitar o armazenamento de tags duplicadas por artigo

Importante

Essa abordagem tem uma desvantagem; as tags não estão conectadas umas às outras, portanto, se forem feitas alterações em uma tag, você deverá atualizar todo o article_tags tabela. Além disso, se as tags forem consideravelmente maiores que 4 bytes, é melhor usar a próxima solução.

Armazenamento de tags externas


Crie outra tabela tags :
id | tag_contents

Adicionar UNIQUE(tag_contents) para evitar o armazenamento de tags duplicadas

Modifique `article_tags:
article_id | tag_id

Adicionar UNIQUE(article_id, tag_id) para evitar o armazenamento de tags duplicadas por artigo