私はいくつかの意見を探しているデータベース構造の問題を抱えています。
ユーザーがアプリケーションを使用して資料を要求するシナリオがあるとします。
リクエスタが誰であるかを追跡する必要があります。
リクエスタには 3 つの「タイプ」があります。個人 (Person)、部門、および材料自体を提供するサプライヤ。
さらに、仕入先オブジェクトも仕入先として関連付ける必要があります。
そのため、RequestedByID FK が存在する Request テーブルにアイデアがあります。しかし、関連するリクエスターは、それぞれのデータに対して非常に異なる構造を持っているため、単一のテーブルだけを作成した場合、関連付けるには完全に非正規化されたテーブルが必要になります (人は部門やサプライヤーとは異なるプロパティを持っています)。
これをどのように処理するかについていくつかのアイデアがありますが、SO コミュニティには大きな洞察があると思いました。
助けてくれてありがとう。
編集:
疑似構造:
リクエスト
RequestID リクエスタID
デパートメント
DepartmentID DepField1 DepField2
人
PersonID PersonField1 PersonField2
サプライヤー
サプライヤーID SuppFiel1 SuppField2
Department、Person、および Supplier はすべて、プロパティがかなり異なるため、個別のテーブルを持ちます。ただし、それぞれがリクエストのリクエスタ (RequesterID) として機能できます。さまざまな可能なリクエスタでいっぱいの 1 つ (非正規化されたテーブル) なしでこれを達成するための最良の方法は何ですか?
お役に立てれば。. .