Entwerfen eines Tag-Systems, das mehrere DB-Tabellen taggen kann

Ich möchte Benutzern erlauben, Elemente mit Tags zu versehen, damit sie mithilfe von Tags nach ihnen suchen können. Was ist der beste Weg, um dies sauber zu erreichen? Bisher habe ich nur zwei zusätzliche Tabellen zu meinem aktuellen Datenbanksystem hinzugefügt.

<db Trackable product 1>
int id;
info etc
</>

<db Trackable product 2>
int id;
info etc
</>

//defines the M:M relationship between Tag and various types of Trackable products
<db TagLink>
int trackableProd1Id
int trackableProd2Id
int tagId
</>

<db Tag>
int tagId
tag name etc
</>

Ist dies ein guter Weg, um es zu tun? Ein Vorteil dieses Ansatzes ist, dass er sich gut skalieren lässt und es mir auch ermöglicht, in Zukunft mehr verfolgbare Produkte hinzuzufügen, indem ich einfach eine Spalte zur TagLink-Tabelle hinzufüge. Dies ist natürlich keine gute Idee, wenn ich vorhabe, zehn Tische zu verfolgen, aber für bis zu 3-4 Tische sollte es sich als gut erweisen, nicht wahr?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage