我有 2 个问题。我正在开发一个使用标准 ASP.NET 成员资格的 ASP.NET Web 应用程序。我们打算将成员表放在 1 个数据库中。我们还有 2 个其他数据库,用于存储 2 个不同应用程序的数据。
Shared - Membership info
DB1 - Application1
DB2 - Application2
两个应用程序都使用“共享”数据库中的成员信息。共享数据库有一个名为 userdetals 的表,它将存储其他用户的信息,例如姓名、电话和职位。
但是,DB1 也有一个名为 employees 的表,它存储与姓名、电话和职位相同的字段。每个员工都可以是一个用户。
同样对于 DB1 和 DB2 中的每个表,我们都进行审计试验,即哪个用户更新了数据库中的表。因此,我们需要将 UserID 存储在 DB1 和 DB2 的表中。我们考虑在 DB1 和 DB2 中添加一个用户表。因此,每次在 Shared 中创建新用户时,都会在 DB1 和 DB2 的 Users 表中创建相同的用户。
我们的问题是:
鉴于上述设置,维护数据库完整性的最佳方法是什么?例如,每个员工都被分配为一个用户。如果 DB1 中的任何字段(例如用户名、姓名和电话)被更新,那么 Shared DB 中的相同字段也应该被更新,反之亦然。
在我们的案例中,是否建议将会员数据库放在不同的数据库中?什么是最好的解决方案,因为 DB1 和 DB2 中的几乎所有表都引用共享数据库中的用户 ID。