0

我目前正在参加在线 Oracle Academy 数据库设计课程,该课程简要介绍了矩阵图的使用,以确保所有可能的关系都包含在实体关系图中。

以下练习题由课程提供,指导我们完成四个实体的矩阵图:RUNNER、CITY FOR RACE、RACE TYPE 和 RUNNING EVENT

问题

以下是课程提供的解决方案:

解决方案

对于同一问题,我能够找到以下替代解决方案: 我的担忧源于这两个 ERD 彼此之间的根本差异。最好的做法是提出尽可能多的关系,甚至填写矩阵图中的所有框,或者做一些更类似于第一个解决方案的事情。或者这只是一个应该根据当前情况和我们正在为其创建 ERD 的业务需求来处理的问题?解决方案2 解决方案3

4

1 回答 1

1

它们并没有根本不同。第二个 ERD 具有第一个的所有关系,它只是由于以下假设而扩展:

  • 跑步者访问过一个城市(例如,如果您想知道跑步者在注册后是否真的参加了比赛)
  • 一个事件可能由多种比赛类型组成,这意味着一个事件实际是不同的模型
  • 或者跑步者选择了一种比赛类型(我在这里很难想出一个合理的理由,但也有可能)

无论该数据库支持什么,它都很重要。

如果您没有这样的理由来跟踪一段关系,那么这样做是浪费精力。在考虑是否有理由时,最好记住未来的可能性,但奥卡姆剃刀在很大程度上是模式设计的指导原则。

于 2017-07-15T23:28:32.180 回答