ユーザーがアイテムにタグを付けて、タグを使用して検索できるようにしたいと考えています。これをきれいに達成する最良の方法は何ですか?これまでのところ、私が思いついた解決策は、現在のデータベース システムに 2 つのテーブルを追加することだけです。
<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 テーブルに列を追加するだけで、追跡可能な製品を将来さらに追加できることです。数十のテーブルを追跡することを計画している場合、これは明らかに良い考えではありませんが、最大 3 ~ 4 個のテーブルでは、うまく機能することが証明されるはずです。