私は一度に2つのウェブサイトプロジェクトに取り組んでいます。ただし、2つのWebサイトが相互に接続され、同じデータベースを共有しています。同じ名前の2つのテーブルが必要 - このデザインに何が問題なのですか?
最初のサイトでは、それを車のサイトと呼ぶことにしましょう。ここでタグシステムと同じように、エントリに割り当てられるタグ/ラベル/カテゴリを保持する「タグ」というテーブルを作成しました。今では車とは無関係に、別のタイプのエントリーのタグを保持するために別のテーブルが必要になります。たとえば、服にタグを付けるとしましょう。
私はすでに車でタグをつけているcar_tagというテーブルを持っています。
2つの異なるタイプの「製品」のタグを同じテーブルに格納する必要がありますか?私はネストされたセットモデルを使用しています。これはかなり混乱する可能性があり、Webサイトのユーザーが非常に混乱しているエントリで何かが壊れてしまう日があると思います。
提案がありますか?タグ1とタグ2?私は同じWebサイト上の異なるが関連するプロジェクトのために、後でさらに多くのタグを必要とするかもしれないと思う。
私は車と服をモデル化するつもりなら、私はタグをモデリングしません。私がTシャツのタグを見ると、サイズ、価格、メーカーなどがわかります。私にとっては、これはタグの特性ではなく、シャツの特性です。あなたが私に正しいものをモデリングしているようには見えません。一般に、データベースモデルは実際のオブジェクトに基づいている必要があります。タグはちょうど間違った焦点のように思えます。 – David
デビッド、申し訳ありませんが、あなたが冗談を言っていないのなら、あなたは完全にその点を見逃していました。この場合の「タグ」は、特定の項目またはエンティティを複数の「カテゴリ」に割り当てる方法です。たとえば、ビジネスのデータベースでは、ビジネスをそれがカバーするカテゴリに割り当てることができます。ハードウェアの店舗には、ハードウェア、芝生、庭、家庭、産業などが割り当てられます。タグ/ラベルはこれを効果的に行う唯一の方法です。 – HK1