湖州企业做网站,凡科网站制作,百度提交网站收录地址,猎头公司排行文章目录 前言什么是 ER图ER 图实例简化的 ER 图总结 前言
产品经理在梳理产业业务逻辑的过程中#xff0c;非常重要的一项工作就是梳理各个业务对象之间的关系。如果涉及对象很对的时候#xff0c;没有工具支持的话很难处理清楚。今天我们就来介绍一个梳理业务对象关系的工… 文章目录 前言什么是 ER图ER 图实例简化的 ER 图总结 前言
产品经理在梳理产业业务逻辑的过程中非常重要的一项工作就是梳理各个业务对象之间的关系。如果涉及对象很对的时候没有工具支持的话很难处理清楚。今天我们就来介绍一个梳理业务对象关系的工具 —— ER 图。
什么是 ER图
来自百度百科的解释 ER图也称实体-联系图(Entity Relationship Diagram)提供了表示实体类型、属性和联系的方法用来描述现实世界的概念模型。 ER 图由下面三个要素组成 ● 实体通常是现实世界的业务对象当然使用一些逻辑对象也可以。比如对于一个校园管理系统会涉及学生、教师、课程、班级等等实体。在 ER 图中实体使用矩形框表示。 ● 属性即某个实体拥有的属性属性用来描述组成实体的要素对于产品设计来说可以理解为字段。在 ER 图中属性使用椭圆形表示。 ● 联系即实体与实体之间的关系这个关系不仅有业务关联关系还能通过数字表示实体之间的数量对照关系。例如一个班级会有多个学生就是一种实体间的联系。
ER 图实例
实际梳理业务对象关系的时候我们可以先列举出某个模块涉及到的业务对象然后再注明业务对象之间的联系。至于属性可以根据实际情况决定要不要标明。因为属性标记太多的话会占据 ER 图的大部分区域反而导致实体关系不容易察觉。 以校园管理系统为例我们梳理出来的业务对象会有学校、班级、教师、学生、课程等对象。它们之间的关系如下 ● 一个学校有多个班级多名教师 ● 一个班级有多名学生一个班级会有一名班主任也是教师一个班级开设多门课程 ● 一名教师教授1门或多门课程视情况而定对小学来说通常会出现一名教师同时教一些非主课课程一名教师会教多个班级的课程 ● 一名学生属于一个班级一名学生同时学习多门课程。 可以看到随着业务对象的增加上面的关系文字说明会越来越多让人很难理清楚关系这个时候我们用 ER 图来表示就会清晰很多如下图所示。
通过这个图我们还可以进一步优化比如通过学生所在的班级可以知道学生学习的课程假设班级课程统一。同时我们发现班主任其实是班级的一个属性就可以去掉教师和班级之间的关系。这种优化非常关键因为关系越多意味着业务系统的实现越复杂也很难进行扩展。优化后的 ER 图如下。
简化的 ER 图
当大家对领域知识熟悉后其实联系就可以去掉比如我们都知道学生是属于某个班级的教师是教授课程的因此只需要保持数量关系就可以而且数量对应关系在 ER 图中也有约定的表现形式常见的对应关系如下图所示。
下面是简化后的 ER 图这里我们将班主任放到了教师上面表示一个班级会由一名教师担任班主任。
不拘泥于形式 虽然 ER 图是一种规范但是有时候为了更清晰地表明业务对象属性或关系可以做一些变通比如我们上面的班主任其实并不属于 ER 图的规范。下面的ER图同时将业务对象的属性和关系描述了出来并且将实体的字段与其他实体的字段对应了起来如订单的所属客户对应了客户 id。这种图形更偏向技术上的数据表设计对于产品经理来说我们只需要列出关键的属性即可。在实际绘制 ER 图的时候不要拘泥于固定的形式更重要的是能够实现清晰地表达业务对象关系的目的。
总结
ER 图用于描述业务对象关系来说非常实用尤其是对于复杂业务来说通过ER 图能够让我们理清业务对象关系之外还能够通过一定手段简化业务对象关系这样设计出来的产品逻辑会更清晰。同时由于技术开发通常会参考 ER 图设计数据表因此通过 ER图可以与技术统一领域语言使得我们产品经理和技术开发的沟通会更顺畅。