解决教授和我自己关于解释 ERD 中鱼尾纹符号的争论

cdp*_*sch 2 erd database-design

我正在大学介绍数据库对象课程。

我与教授在如何解释 ERD 图中基数的鱼尾纹符号方面存在分歧。

示例:看看这张图片(我从演讲幻灯片中提取的一张图片):

在此处输入图片说明

根据我的解释,这表明:

  • 供应商可能有 0 个或多个发货
  • 一批货物可能只属于一个供应商
  • 一个客户可能有 0 个或多个订单
  • 一个订单可能只属于一个客户

但是,根据我导师的解释,这表明:

  • 一个货件可能有 0 个或多个供应商
  • 一个供应商只能有一个发货
  • 一个客户可能只有一个订单
  • 一个订单可能有很多客户

我一直无法找到任何证据来证明我自己对此的理解……但是,再说一次,我只是一个学生。也许我错过了什么?如果我是,我想弄清楚我哪里出错了。

Joe*_*own 5

你的教授错了。几乎所有版本的乌鸦脚符号中的基数都是这样读取的,实体旁边的基数就是该实体的基数。您还可以通过常识告诉您,绘制此 ERD 的人并非有意为您的教授阅读的内容。

我会说我(很少)看到人们像你的教授那样阅读基数。我认为这是另一方的“看不起关系”。事实是,在我看来,这种方法对可读性没有意义。这也不是绝大多数人的做法。

你最好在这方面坚持传统智慧。如果你不能说服你的教授,那就顺其自然,直到学期结束,然后忘记这个不恰当的约定,从那时起几乎其他人都这样做。

作为旁白/专业提示:当您看到许多/可选的基数时,我建议您养成阅读“零或更多”而不是“零或多”的习惯。我认为“零或多”有点暗示“不是 1”,这不是这种基数的性质。