2 つの質問があります。標準の ASP.NET メンバーシップを使用する ASP.NET Web アプリケーションを開発しています。メンバーシップ テーブルを 1 つのデータベースに含める予定です。2 つの異なるアプリケーションのデータを保存する 2 つのデータベースがあります。
Shared - Membership info
DB1 - Application1
DB2 - Application2
どちらのアプリケーションも、「共有」データベースのメンバーシップ情報を使用します。共有データベースには、名前、電話番号、役職などの追加のユーザー情報を格納する userdetals というテーブルがあります。
ただし、DB1 には、名前、電話番号、および役職と同じフィールドを格納する employees というテーブルもあります。各従業員はユーザーである場合があります。
また、DB1 と DB2 の各テーブルについて、監査トライアル、つまりデータベース内のテーブルを更新したユーザーを記録します。したがって、DB1 と DB2 のテーブルに UserID を格納する必要があります。DB1 と DB2 にユーザー テーブルを追加することを考えました。そのため、Shared で新しいユーザーが作成されるたびに、同じユーザーが DB1 と DB2 の Users テーブルに作成されます。
私たちの質問は次のとおりです。
上記の設定でデータベースの整合性を維持する最善の方法は何ですか? 例: 各従業員はユーザーとして割り当てられます。ユーザー名、名前、電話番号などの DB1 のフィールドが更新された場合は、共有 DB の同じフィールドも更新する必要があり、その逆も同様です。
この場合、メンバーシップ データベースを別のデータベースに置くことをお勧めしますか? DB1 と DB2 のほとんどすべてのテーブルが共有データベースのユーザー ID を参照するため、最適なソリューションは何ですか。