Tach!
dann sollten dieser Nachricht in einer Zuordnungstabelle zwei Einträge zugeordnet werden:
Und nein, es wäre keine gute Idee, die Tags noch einmal in einer Nachschlagetabelle abzuspeichern:
denn das Schlagwort "Athen" in Zusammenhang mit der Finanzkrise in Griechenland hat nichts mit dem Schlagwort "Athen" mit einem Artikel über das alte Griechenland zu tun. Hat sich derjenige, der verschlagwortet, vertan - und ändert das Schlagwort beim Antike-Artikel in "Athene" ab, so darf sich das Schlagwort beim Finanzkrisenartikel ja nicht ebenfalls ändern.
Das darf in keinem (Änderungs-)Fall passieren. Wenn die Tags für den User in einem Feld präsentiert werden, und nicht jeder Tag in einem eigenen, dann müssen auch Änderungen möglich sein, wie Athen ganz weg und dafür Griechenland rein, ohne dass dabei sämtliche Athens zu Griechenland mutieren. Deswegen muss man beim Ändern der Tags eines Artikels erst die alten Zuordnungen löschen und dann neue erstellen. Dasselbe Vorgehen wird auch bei der Variante ohne Nachschlagetabelle benötigt. Zumindest ist das einfacher, als zu prüfen, welche geblieben sind und welche sie geändert haben. Bei der Datenpflege sehe ich da grad keinen Vorteil der ersten Variante. Für sie spricht hingegen, dass die Abfragen um einen Verknüpfungsschritt einfacher werden. Und "Liste aller Tags" bekommt man mit DISTINCT hin.
dedlfix.