【发布时间】:2021-09-30 14:14:57
【问题描述】:
与传统惯例相反,将关系基数绘制到具有关系的表而不是关系所在的表上会更好吗?换句话说,让符号显示跟随关系线的性质,而不是解释关系线已经跟随。
我正在为 SQL 数据库中的某些表制作实体关系图。 ERD 的用例是在数据库中为表创建新条目时。目标是让人们更容易理解条目依赖于哪些其他表,因此也需要条目。
传统的约定是从一个表到相关表绘制线,然后在这些线连接到其他表的地方绘制关系基数符号。因此,如果表 R 中的一个条目必须在表 C 中有一个相关条目,则它可能如下所示:(简化图。)
要查找一个表依赖于哪些其他表,有必要跟踪到相关表的每个连接以确定所需的依赖关系。当数据库有很多表时,这会变得很麻烦。
是否有可能在更容易找到依赖项的地方创建一个 ERD?如顶部问题所述,最合乎逻辑的解决方案似乎是向读者清楚地表明符号放置的传统约定已被颠倒,然后让关系基数符号显示符号后关系的性质。因此,如果表 R 中的条目必须在表 C 中具有恰好一个相关条目,则更具可读性的指示可能如下所示:
忽略大多数人习惯于传统变体这一事实,与我在上面直接建议的反向变体相比,传统变体还有其他好处吗?我曾经问过一位教授我的建议是否更好,因为它可以很容易地确定一个条目是否需要更多的表格,并且通常可以更直观地阅读,但他无法辩解超出人们目前的意见习惯了,传统并不总是值得的。
当图表中有很多表时,除了我上面展示的那些之外,还有其他替代方法更适合我的目标吗?
【问题讨论】:
标签: database entity-relationship erd cardinality entity-relationship-model