我有以下情况:
- 客户端(ID)
- 合同(ID,客户端ID)
- ClientEmployee(ID,客户端Id)如何在关系数据库中建模这个关系?
客户可以有很多合约,并且客户端可以有许多ClientEmployees。
对于任何合同,我需要关联在其上工作的ClientEmployees。
目前,我的解决方案非常简单,我可以在合同和客户雇员之间建立多对多的关系 。
- ContractClientEmployee(ID,ContractID,ClientEmployeeID)
采用这种设计,也没办法(在数据库设计的水平),以防止被关联到另一个客户端的合同ClientEmployee,那将是一个错误的课程。
我觉得必须有一个“好”的解决方案,即在架构上进一步约束捕捉,但我无法弄清楚如何... :-(
更新:我收到两个有效和非常好的我接受了伦佐的一个,因为它是第一个......对不起,重申...
查看我的回答[如何确保不相关表之间的完整性](https://stackoverflow.com/questions/43413488/how-do-i-ensure-integrity-between-unrelated-tables/43416765#43416765) – reaanb
哇......看起来很复杂! :-)我需要时间阅读它......目前,非常感谢!我会告诉你我的想法! – Andrea