我目前正在参加在线Oracle Academy数据库设计课程,该课程简要介绍了如何使用Matrix Diagrams来确保实体关系图中涵盖了所有可能的关系。
课程提供了以下练习题,指示我们完成四个实体的矩阵图:RUNNER,CITY FOR RACE,RACE TYPE和RUNNING EVENT
以下是课程提供的解决方案:
我能够找到针对同一问题的以下替代解决方案:
我的担忧源于这两个ERD彼此之间有多么截然不同。更好的做法是尽可能多地建立关系,甚至可以填写矩阵图中的所有框,或者做更类似于第一个解决方案的事情。或者这只是一个问题,应该根据我们正在创建ERD的当前情况和业务需求来处理?
答案 0 :(得分:1)
它们并没有根本不同。第二个ERD具有第一个的所有关系,它只是因为推测知识而扩展:
对于此数据库支持的任何内容都很重要。
如果您不有这样的理由来追踪关系,那么就会浪费精力去做。在考虑您是否有理由时,记住未来的可能性是件好事,但Ockham的Razor在架构设计中是一个非常重要的指导原则。