首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两个表之间能有两种关系吗?

两个表之间能有两种关系吗?
EN

Stack Overflow用户
提问于 2011-06-09 22:29:10
回答 4查看 7.4K关注 0票数 2

有两张表:雇主和雇员。因为每个雇员都被分配给一个雇主,他们之间有1:N的关系--简单的东西。但我也希望能够模拟这样一种情况,即每个雇主都可以选择自己的one最喜欢的员工(他也可以选择一个也不选)。

我也应该:

  1. 在这些表之间添加了第二个1:1的关系--这样雇主也会包含EMPLOYEE_id_FK。allowed?
  2. Add是由两个主键标识的第三个表FAV - EMPLOYER_ID和EMPLOYEE_ID?这样,我就可以确定每个雇主只能有一个最受欢迎的雇员,而且每个雇员也只能被一名员工选为员工--这正是我想要的。

正确的方法是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-09 22:31:27

我的建议是有四张桌子。一个雇员表,一个雇主表,一个把雇员和雇主联系起来的表(他说一个雇员不能为两个雇主工作),最后一个表把一个雇主和他们最喜欢的雇员联系起来。

编辑:是的,当然,在相同的两个表之间可以有两个关系。

票数 2
EN

Stack Overflow用户

发布于 2011-06-09 22:34:18

您需要添加一个额外的表(即四个表而不是三个表),或者在is_preferred表中添加某种类型的employer2employee标志。

票数 1
EN

Stack Overflow用户

发布于 2011-06-09 22:35:39

是的,这是允许的。你想要多少都可以。

顺便说一句:这是一种1:N的关系,而不是1:1。当我建立这种关系的时候,两者都是N:M关系,因为一个雇员可以有不止一个雇主。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6300059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档