ER图:一(可选)到一(强制)?

ER diagrams: One (optional) to one (mandatory)?

我是 ER 图的新手。我注意到 draw.io(在 Whosebug 上推荐)没有一对(可选)对一(强制)的关系。

比方说,我有两个表 "user" (id, affiliate_id) 和 "affiliate" (id)。不一定要有关联公司,在这种情况下 user.affiliate_id 将为空。

但是,如果有附属公司,那么 user.affiliate_id 将 link 到 affiliate.id。

那不是一对(可选)对一(强制)的关系吗?

PS:我在想也许user.affiliate_id严格意义上一定不能为null。但是,它不会破坏外键约束(至少对于 SQLite 3)。

我认为您描述的是一对多关系。一个用户可以(可选)与一个附属机构相关联,但同一附属机构可以与多个用户相关联。

还是我理解错了?

是的,你是对的,这将是一种关系类型的 zero/one(或 zero/many),必须在图表中显示。 ER 图有不同的符号(因此,事实上,最好使用 UML class 图)。例如,在 notation used by Oracle 中,表示关系类型的连接线的可选末端同时使用零和一符号进行注释。在 UML 中,可选关联端的注释将是 0..1(如果是单值)或 0..*(如果是多值)。