具有固定联系人数量的数据库设计的最佳方法是什么?

What is the best way for a database design with fixed number of contact persons?

我目前正在为一个项目设计数据库。我想对其进行规范化,我遇到了一个问题,我想在更大的群体中提出这个问题,尤其是关于以前的经验。

情况简介:一个组织有0到4个联系人。在四个联系合作伙伴中,两个在组织现场(本地),两个在全国范围内(全球)。

在输入掩码上,用户可以select联系人table中的哪个联系人是所谓的“本地联系人1”、“本地联系人2”、“全球联系人” 1”等,所以顺序(顺序,“1”或“2”)是相关的。

构建数据库的最佳方式是什么?我附上了三个示例,但请随时提出其他建议。

我会推荐第三种解决方案。在未来的某一天,企业会提出一个例外,并声明一个组织可以有 5 个或更多联系人。 如果 OrganiationContacts 的主键是 organizationId+ContactId,您还可以保证同一个联系人不能同时是本地联系人和全局联系人,或者将其定义为联系人两次。其他结构无法保证这一点,需要额外的验证逻辑。