我正在尝试掌握使用 ER 图来建模的窍门,大多数递归示例都类似于“人是经理”之类的事情,这一点很明确。
但是如果我不确定以下内容是否可以在 ER 中建模:
我有一个实体“章节”(带有 id、标题、字数),它本身可以不包含任何章节或 N 个其他章节作为子章节(并且可以重复)。我做了这个递归。
但是我可以:
a) 显示 ER 中子章节的顺序 b) 模型中章节的字数包括其子章节的字数?
或者这些事情不应该在 ER 图中考虑,而应该在稍后阶段考虑?
最佳答案
ER 图不太适合显示大多数类型的依赖关系和约束。如果这些东西完全显示在 ER 图中,那么它们通常会作为文本注释添加。
在 UML 建模中,“聚合”有一个特定的符号,例如构成章节一部分的子章节。我认为在大多数情况下这是否有用是有争议的。根据我的经验,UML 建模者在使用关联/聚合/组合方面往往有点不一致。下面是一个显示聚合的 UML 图示例:
如果您对更详细的规则建模感兴趣,那么对象角色建模是一个非常强大的工具。 ORM 的非循环环约束表示法、子集约束可以很好地代表您的章节和子章节的情况。
尝试以图形方式表示太多事物的问题是,图表越复杂,理解起来就越困难。有时一两句话可以起到更好的作用。
关于database-design - ER 图可以通过递归实现吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52688239/