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

时间:2017-07-15 19:47:59

标签: sql matrix oracle12c entity-relationship-model

我目前正在参加在线Oracle Academy数据库设计课程,该课程简要介绍了如何使用Matrix Diagrams来确保实体关系图中涵盖了所有可能的关系。

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

Problem

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

Solution

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

1 个答案:

答案 0 :(得分:1)

它们并没有根本不同。第二个ERD具有第一个的所有关系,它只是因为推测知识而扩展:

  • 跑步者已经访问了一个城市(例如,如果你想知道跑步者在注册之后是否真的参加了比赛)
  • 一个事件可能包含多种种族类型,这意味着一个事件实际上是一个不同的模型
  • 或者说跑步者选择了种族类型(我在这里考虑一个明智的理由会更加困难,但是有可能)

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

如果您有这样的理由来追踪关系,那么就会浪费精力去做。在考虑您是否有理由时,记住未来的可能性是件好事,但Ockham的Razor在架构设计中是一个非常重要的指导原则。