Penso che il Da molti a molti la relazione ti aiuterà
qualcosa come
-------- ----------------- ------------
- tags - <-------> - products_tags - <-------> - products -
-------- ----------------- ------------
modifica:
l'approccio Many to Many è quello più normalizzato, ma penso il più difficile da implementare, poiché in questo caso si basa su join per ottenere tutti i tag per un determinato "prodotto". vantaggi:
- totalmente normalizzato
- DRY :poiché se devi cambiare il nome di un tag puoi farlo e vedrai il cambiamento ovunque
- ecc.
l'altro approccio consiste nel salvare tutti i tag in un campo separato da qualcosa (diciamo virgola). Qui hai velocità in termini di ottenere i tag. hai solo bisogno di dividere i tag da quel separatore e basta. Anche salvare i tag è più facile, ma non mi piace questo approccio perché se devi aggiornare un modello devi andare articolo per articolo, dividere, aggiornare e quindi salvare..