0
为多租户应用程序,我们有以下的数据库设计: 数据库设计的多租户应用
它是基于共享数据库的方法。既然我们确定使用公司ID租户(每个公司都有一套不同的员工和他们的任务等),我的问题是
我们需要在任务表中的companyId键也让每一个记录 的任务可以使用公司Id或OR明确标识,我们应该始终使用Join?
因为如果我们在任务中使用companyId将不会是一个适当规范化的数据库,因为任务将涉及公司和员工,这也与公司有关。
任何id(Employeeid,CompanyId,TaskId)是数据库工件,对用户不可见,不能由用户以任何方式操作。 –
同意它不能被用户操纵。当你有新的租户将使用类似的ID给现有的租户时,麻烦就会发生。要么你的应用程序逻辑必须覆盖,否则你可能会突然间出现错误的结果。我的建议是在桌面上确保不同的租户数据可以存活,而不会对数据施加任何条件。 –
他们不会使用相同的ID:例如,在不同的公司中有两名同名的员工:**公司A的员工James **的ID为45,但Z公司的詹姆斯的ID为678.用户访问员工:James,但如果他是A公司的用户,ID是45,但如果来自Z公司的用户是678. –