我希望允许用户标记项目,以便他们可以使用标签搜索它们。干净地实现这一目标的最佳方法是什么?到目前为止,我提出的解决方案只涉及向我当前的数据库系统添加两个额外的表。
<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
</>
这是一个很好的方法吗?这种方法的一个好处是它应该可以很好地扩展,并且它还允许我在未来通过简单地向 TagLink 表中添加一个列来添加更多可跟踪的产品。如果我计划跟踪 10 张桌子,这显然不是一个好主意,但对于最多 3-4 张桌子,它应该证明可以很好地工作,不是吗?