【发布时间】:2017-06-18 15:04:05
【问题描述】:
我有以下情况:
- 客户 (ID)
- 合同(ID、ClientID)
- ClientEmployee (ID, ClientId)
一个客户可以有很多合同,一个客户可以有很多 ClientEmployees。
对于任何合同,我都需要关联处理它的 ClientEmployees。
目前,我的解决方案很简单,我在其中构建了一个多对多
合同与客户雇员之间的关系。
- ContractClientEmployee(ID、ContractID、ClientEmployeeID)
使用这种设计,没有办法(在数据库设计级别)防止 ClientEmployee 与另一个客户的合同相关联,这当然是一个错误。
我觉得必须有一个“更好”的解决方案,在架构中捕获这个进一步的约束,但我不知道如何...... :-(
更新:我收到了两个有效且非常好的答案,这一点或多或少是针对相同概念的一个好的解决方案。我接受了 Renzo 的,因为它是第一位的……对不起,reaanb……
【问题讨论】:
-
哇...看起来很复杂! :-) 我需要时间好好阅读它……暂时,非常感谢!我会告诉你我的想法!
标签: database-design relational-database