テーブルのデザインについて質問です。私の意見ではうまくいくはずの解決策がありますが、うまくいきません。
特定の属性を持つ 2 つのエンティティ "サブジェクト" と "プロセス" を持つことを検討してください。すべての「サブジェクト」は、複数の「プロセス」に関連付けることができます。どの「プロセス」が選択されるかによって、さまざまな数のエンティティ「プロセス プロパティ」があります。言い換えれば、ユーザーが「プロセス」を「サブジェクト」に関連付ける場合、ユーザーは特にそれにリンクされた「プロパティ」のみを編集できる必要があります。
最終的には、ユーザーが 3 つのことを実行できるようにしたいと考えています。
- 新しい「プロセス」を作成し、それに関連付けられた「プロパティ」を指定する
- 特定の「サブジェクト」に関連付けられた「プロパティ」がない場合でも、その「サブジェクト」のすべての「プロセス」を一覧表示する
- 「プロセス」を「サブジェクト」に関連付け、定義済みの「プロパティ」のみを評価できるようにする
したがって、テーブルのデザインは次のようになります。
- tblSubject={サブジェクトID,...}
- tblProcess={プロセスID,...}
- tblProcessProperty={プロパティ ID,...}
- tblRelationProcessProperty={RelationProcessPropertyID、ProcessID、PropertyID}
- tblRelationSubjectProcessProperty={RelationID、RelationProcessPropertyID、SubjectID、PropertyValue}
これは、すべての「プロセス」に関連付けられた「プロパティ」がある限り、明らかに機能します。したがって、私の間違いは、「サブジェクト」を「プロセス」に直接リンクすることではありませんが、テーブルのデザインをまっすぐにすることができません。
どんな助けでも大歓迎です。