请看下图。
该图像代表“一对多”关系。它说“客户是由介绍人介绍的”。客户可以有 1 个介绍人或根本没有,但入侵者可以有多个客户。
所以即使它是“客户可以有 1 个介绍人或根本没有”,它在 ER 图中仍然被描述为一对多关系,对吗?据我所知,“一对多关系”也描述了这种情况,我不太担心这个“根本不”部分。我对此有点困惑,过一段时间再看看图表!
最佳答案
一对多关系仅说明(在您的示例图中)一个客户只能有一个介绍人(这是一对多的 ONE 部分)。 (一个客户只能由一个介绍人介绍)。 MANY 部分声明一个 Introducer 可以介绍零个、一个或任意数量的客户。 客户无需任何介绍即可与您联系。
你是对的,一对多的关系可能会令人困惑,但是如果没有客户的介绍人,那还有关系吗? (不,没有关系)。
在上面的示例中,如果 Client
表中的 Introducer_id
列可以为空,则关系不是必需的,因此可能有一个或多个客户具有没有介绍人
如果外键列不可为空(字段上存在 NOT NULL
约束),则可能需要这种关系。
因此关系及其基数由 FOREIGN KEY
和“多”方列上的 NOT NULL
约束定义。
ER图表示关系实际存在时关系的基数。 (怎么能说没有关系呢?)
关于database - 关于 "One to Many"关系的一些困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25745456/