初投稿です、よろしくお願いします。
注: エントリ #20856 (タグ付けの実装方法) を確認しましたが、検討しているタグの方法がアプリの組織固有のものであるため、これは異なると感じています。誰かが私が行く方向を確認したり、他のオプションを指摘したりできることを願っています.
(背景) 私たちは、さまざまな組織がさまざまな場所にある在庫を可視化するための Web アプリケーションを構築しています。データベースにはユーザー、組織、サイト、およびアイテムが保存され、サイトおよびアイテムから組織へのリンクがあり、どのアイテム/サイトをどのユーザーに表示するか (組織に基づいて) を決定できます。
2 つ (またはそれ以上) の組織がポータルを使用して、(たとえば) ロサンゼルス倉庫のウィジェット A の在庫状況を確認したいというのはよくあることです。その部分は問題ありません。ただし、さまざまな組織もウィジェット A に関する固有の情報を追跡しています。たとえば、組織 1 は、各アイテムの色、量、主要なベンダーを追跡したいと考えています。組織 2 は、各アイテムの色、在庫タイプ、在庫サイクル、購入者コードを追跡したいと考えています。これらすべての可能なフィールドをテーブルにロードしてから、どの組織がどのフィールドを使用しているかを把握しなければならない状況を避けたいと考えています。
タグの行に沿って何かを使用することを検討していますが、タグ カテゴリを追加し、タグ カテゴリを組織レベルで定義するようにします。したがって、基本的なテーブル構造は次のようになります。
表: OrgTagCategory
フィールド: OrgId、TagCategoryId、CategoryTitle
表: OrgTag
フィールド: OrgId、TagCategoryId、TagId、TagTitle
表: OrgItemTag
フィールド: OrgId、ItemId、TagId
次に、ユーザーがメイン ダッシュボードにログインすると、グリッドには適切な項目フィールドがグリッドの列として含まれます。したがって、上記の例から、組織 1 には、アイテム番号、説明 (すべてが表示されます)、色、数量、および主要ベンダーが表示されます。組織 2 には、アイテム番号、説明、色、在庫タイプ、在庫サイクル、購入者コードが表示されます。
私はこれを考えすぎていますか、それとも私が見逃しているこれを行うためのより簡単な方法はありますか? すべての考え/フィードバックを心から感謝します。