我正在为 Web 应用程序设计数据库架构。这是我第一次设计具有商业目的的数据库。在完成需求阶段后,我开始绘制 ER 图。
我的问题是关于架构中的条件。
我有一个表类别和子类别,它们之间存在一对多关系。一个类别有许多子类别。
分类表
==================== | 类别名称 | ==================== | 类别1 | | 类别2 | ====================
子类表
=========================================== | 业主类别 | 子类别名称 | =========================================== | 类别1 | subc1 | | 类别1 | subc2 | | 类别2 | subc3 | | 类别2 | subc4 | ===========================================
现在,如果用户有权访问 ,subc1
他就可以访问category1
.
有没有办法用ER图来描述这个场景,查图就知道这个约束?
基本上我想知道这个访问约束是如何传播到下一阶段的设计的。
实体关系图显示实体和关系,包括关系的基数。
有些人和工具对此进行扩展以显示属性、主键和外键。我什至看到一些尝试以视觉方式表示一些约束,例如属性可空性和基本数据域。一些经典的图形约定,如 IDEF1X,还包括有关关系性质的信息(无论它们是否是孩子的决定因素)。
我不知道在 ER 图中显示访问规则的任何图形约定。
我会争辩说,试图将太多信息打包到模式的可视化表示中会使图表变得难以理解,以至于变得毫无帮助。我会说这适用于访问规则之类的东西。
为了显示访问规则,您确实需要显示访问者(即用户),因为不同的访问者通常具有不同的访问规则。在 ER 图中没有包含用户的既定约定,所以我不会尝试那样做。
作为替代方案,我建议使用表格或图表来指示哪些用户可以访问哪些实体。您可以包括一列,显示在表级规则上扩展的数据级规则。数据级别规则可能类似于“用户只能访问属于他们拥有的类别的子类别”。
它不会产生漂亮的图片,但我相信在尝试向开发人员或客户解释您的设计时,可理解的文档将胜过漂亮的图片。