Mysql
 sql >> Database >  >> RDS >> Mysql

Configurazione di un sistema di tag per le voci in un database MySQL

Archiviazione tag in linea

A seconda della dimensione dei tuoi tag, potresti memorizzarli all'interno di article_tags tabella:

article_id | tag_contents

Aggiungi UNIQUE(article_id, tag_contents) per evitare di memorizzare tag duplicati per articolo

Importante

Questo approccio ha uno svantaggio; i tag non sono collegati tra loro, quindi se vengono apportate modifiche a un tag devi aggiornare l'intero article_tags tavolo. Inoltre, se i tag sono considerevolmente più lunghi di 4 byte, è meglio la soluzione successiva.

Archiviazione tag esterna

Crea un'altra tabella tags :

id | tag_contents

Aggiungi UNIQUE(tag_contents) per evitare di memorizzare tag duplicati

Modifica `article_tags:

article_id | tag_id

Aggiungi UNIQUE(article_id, tag_id) per evitare di memorizzare tag duplicati per articolo