关于“一对多”关系的一些困惑

时间:2014-09-09 13:07:00

标签: database one-to-many diagram er-diagram

请查看下图图片。

enter image description here

该图像代表"一对多"关系。它说"客户是由介绍人和#34;介绍的。客户端可以有1个介绍人或非介绍人,但是Intrudcer可以有很多客户端。

即使它是" 客户端可以有1个介绍人或 ",它仍然在ER图中描述为一个很多关系吧?我很担心这个" 根本不是"部分,据我所知"一对多的关系"也描述了这种情况。我对此感到有点困惑,经过一段时间后看一下图表!

1 个答案:

答案 0 :(得分:3)

一对多关系仅表明(在您的示例图中)一个客户端只能有一个介绍人(这是一对多的一部分)。 (客户只能由一位介绍人介绍)。 许多部分指出,一个介绍人可以引入零个,一个或任意数量的客户端。 客户可以在没有任何介绍的情况下与您联系。

你是对的,一对多的关系可能令人困惑,但是如果客户没有介绍人,是否有任何关系? (没有关系)。

在上面的示例中,如果Introducer_id表中的Client列可以为空,则该关系不是必需的,因此可能有一个或多个客户端没有介绍人。 如果外键列不可为空,则可能需要该关系(字段上存在NOT NULL约束)。

所以这种关系及其基数是由FOREIGN KEYNOT NULL约束定义的'很多'方列。

ER图表示关系实际存在时关系的基数。 (你怎么能表示没有关系?)