想象一个场景,它是一个很好的例子,它是任意选择的:
company
id
name
...
contact
id
first_name
last_name
...
role
id
name
...
现在,创建一个多对多关系,其中联系人与处于特定角色的公司相关联(暂时不要考虑公司与联系人之间的任何固有关系),我们应该能够创建一些表,例如:>
company_contact_role
company_id
contact_id
role_id
这将为我们提供公司角色中的联系人关系。到目前为止一切都很好。
现在;想象一下ceo
的角色和customer service
的角色,以及一个约束条件,即如果他们既没有首席执行官,又没有至少3个客户服务代表,我们就无法拥有一家公司。
有什么方法可以在数据库级别(使用现有结构或备用结构)强制执行此操作,还是纯粹是一个应用程序逻辑问题?
有兴趣知道是否有针对此类问题的最佳解决方案,而与所使用的技术无关。