这种符号是什么意思? (ERD)

时间:2014-01-01 19:29:56

标签: database database-design er-diagrams

我很难理解我给出的模型上的符号。 我认为它意味着1-n(包括0)但我不明白为什么 - 任何药物都应该有剂量,此外,钥匙不可空。那么怎么会有0?

enter image description here

1 个答案:

答案 0 :(得分:2)

符号是用于实体关系建模的Crow的脚符号(这涉及实体名称,行和框以及关系上的名称,仅在此处不存在)。

每个工具都有自己的方式来表示数据模型的某些方面。例如,某些工具使用虚线/虚线来表示非识别关系(即允许FK更改)。

图表(方框和行)告诉我们:

R1-每个[剂量]被管理为0,1,...,N [药剂]

R2-每个[药物]必须有1个规定的[剂量]

  • NN表示不为空(这取决于工具)

  • Dose的主键是ID

  • Medicament的主键是[ID]和[ID Dose](来自Dose的FK)。

您认为图表不一致是正确的。 (NN)Not Nullable表示[Medicament]结束时的强制关系。因此,(0)或小圆圈不应该在那里。

我已经猜到了上述文本中的关系,我可能是错的。这就是为什么数据建模者应该澄清他们的确切含义,否则这种关系可能被解释为错误。

以下是使用MySQL Workbench ERD工具的类似图表 - 没有小圆圈或零显示任何类型的线条:

enter image description here

修改/修正

不熟悉用于表示图表的特定工具,我假设两列都是子表的复合键的一部分。但是,正如@KhDonen下面的评论所表明的那样,情况并非如此。也许该工具使用“键”符号/图标指定FK,即使它不是PK的一部分。在这种情况下,每个表上只有1个键,图表将保持一致。