我很难理解给定的模型上的符号。 我认为这意味着 1-n (包括 0),但我不明白为什么 - 任何药物都应该有剂量,此外,键不可为空。那怎么可能是0呢?
最佳答案
该表示法是用于实体关系建模的鱼尾纹表示法(这涉及实体名称、线和框以及关系上的名称,仅在此处不存在)。
每个工具都有自己的方式来表示数据模型的某些方面。例如,某些工具使用虚线/点线来表示非识别关系(即允许更改外键)。
图表(方框和线条)告诉我们:
R1- 每个[剂量]按 0,1,...,N [药物] 给药
R2-每种[药物]必须有 1 个处方[剂量]
NN 表示 Not Null(这取决于工具)
Dose 的主键是 ID
Medicament 的主键是 [ID] 和 [ID Dose](来自 Dose 的 FK)。
您认为图表不一致的假设是正确的。 (NN) Not Nullable 表示 [Medicament] 端存在强制关系。 因此 (0) 或小圆圈不应该出现。
我已经猜到了上面文字中的关系,我可能是错的。这就是为什么数据建模者应该明确它们的含义,否则关系可能会被错误地解释。
这是使用 MySQL Workbench ERD 工具的类似图表 - 任何类型的线条都不会显示小圆圈或零:
编辑/更正
由于不熟悉用于表示该图的特定工具,我假设这两列都是子表的复合键的一部分。然而,正如@KhDonen 下面的评论所指出的那样,情况并非必须如此。也许该工具会用“ key ”符号/图标指定 FK,即使它不是 PK 的一部分。在这种情况下,每个表上只有 1 个键,图表将保持一致。
关于database - 这个记号是什么意思? (ERD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20872371/