关注使用矩阵图开发实体关系图

Concern About Developing Entity Relationship Diagrams using Matrix Diagrams

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

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

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

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

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

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

对于此数据库支持的任何内容都很重要。

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