识别/不识别关系与强制/可选关系相同吗?

时间:2014-05-08 23:04:11

标签: mysql erd modality

基本上,关系的身份识别和情态之间有什么区别? 如果它们是相同的,为什么MySQL Workbench会单独实现它们呢?

进一步说明:

我得到关系的标识意味着如果关系是非标识,则引用表中的外键可以为NULL,否则不能为NULL; MySQL Workbench实现了这个功能O.K.识别关系用粗线表示,而非识别关系用虚线表示。

直到现在我确信模态(可选/强制关系)是一回事!但MySQL Workbench分别实现了模态。在ERD中,它由" O"或者"我"靠近实体。它显示为here

1 个答案:

答案 0 :(得分:2)

没有

Identifying/non-identifying relates to child keys.在识别关系中,子记录只有在父记录存在时才存在。它标识子记录。子表中必须具有标识关系 - 它形成子表的密钥(全部或部分)。

非识别关系仍然可以是强制性的或可选的,只是子记录可以独立于外键存在。

强制/可选只是告诉您字段是否必须具有值。这可能是一个外键字段,但并非必须如此。如果它是强制性的但不是外键,您可以将任何您想要的值放入列中(只要它符合其他约束条件);它不能null