B端产品经理必备技能:ER模型基础概念之业务建模

2022-10-2209:09:25互联网产品Comments1,140 views字数 4169阅读模式

本文会从以下几个点进行基础指引:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

  • 什么是ER模型?
  • ER模型有什么作用?
  • ER图的核心部分是什么?
  • 产品经理如何进行ER建模绘制ER图?

➊ 什么是ER模型?

ER模型,全称为实体联系模型、实体关系模型(全称:Entity-Relationship Model)由美籍华人计算机科学家陈品山发明,是概念数据模型的高层描述所使用的数据模型或模式图。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

ER模型常用于信息系统设计中,比如它们在概念结构设计阶段用来描述信息需求和/或要存储在数据库中的信息的类型。但是数据建模技术可以用来描述特定论域(就是感兴趣的区域)的任何本体(就是对使用的术语和它们的联系的概述和分类)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

在基于数据库的信息系统设计的情况下,在后面的阶段(通常叫做逻辑设计),概念模型要映射到逻辑模型关系模型上;它依次要在物理设计期间映射到物理模型上。注意,有时这两个阶段被一起称为“物理设计”。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

在以前的文章中有简单的提过「概念模型」,其实就是ER建模的输出产物——实体联系模式图(ERD,全称:Entity Relationship  Diagram)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

汽车美容门店排位系统文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

产品经理接收到一个新的业务需求后,可以通过ERD进行梳理实体之间、实体与属性之间的关系,从中将整个业务抽象出共性与核心特征;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

当ERD给到我们的开发人员后,这些实体之间、实体属性之间的关系就演变成数据库的表与字段。有了ERD后对于整个系统的架构与后续扩展都有很大的好处,可以很好的理解与梳理业务。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

➋ ER模型有什么作用?

当我们理解了实际问题的需求之后,需要用一种方法来表示这种需求,ERD就是用来描述这种需求。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

在梳理ERD的过程中,其实我们就是梳理业务,它在这个数据过程中起到的作用:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

提升总结归纳的抽象能力:我们接收需求的时候,会有很多噪声需求,产品经理就需要从中提炼有意义的实体概念,实体属性,从而达到整个业务模式能在系统上运作起来。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

提高沟通效率:当我们输出ERD后,与业务、开发、测试人员沟通时,能很好的表达出我们系统上的实体关系,这就是所谓的一图胜千言文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

提高建模合理性,避免掉坑:在ER建模过程中,提高建模的合理性能让系统运作更良好,避免后续业务变化导致系统又需推到重来的结果,影响业务发展。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

➌ ER图的核心部分是什么?

ER图分为实体、属性、关系三个核心部分:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

实体长方形体现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

属性椭圆形体现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

关系菱形体现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

门店员工实体关系模型图文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

ⓐ 实体(Entity)

即数据模型中的数据对象,例如门店、员工、物品都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如员工实体里包括张三、李四等,实体成员(entity member)/ 实体实例(entity instance) 不需要出现在ER图中文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

ER的实体还会细分:弱实体、复合实体

 弱实体:一个实体必须依赖于另一个实体存在,那么前者是弱实体,后者是强实体,弱实体必须依赖强实体存在,例如上图的门店实体和员工实体,员工依赖于门店实体而存在,因此门店是强实体,而员工是弱实体文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

弱实体和强实体的联系必然只有1 : N或者1 : 1,这是由于弱实体完全依赖于强实体,强实体不存在,那么弱实体就不存在,所以弱实体是完全参与联系的,因此弱实体与联系之间的联系也是用的双线菱形文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模强弱实体关系模型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 复合实体:复合实体也称联合实体桥接实体,常常用于实现两个或多个实体间的M : N联系,它由每个关联实体的主码组成,用长方体内加一个菱形来表示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

举个复合实体的例子,还是以汽车美容门店的案例,车主施工项目两个实体是M : N的关系,中间有施工订单这个实体联系,因此施工订单这个实体是一个复合实体,同时如果车主实体不存在,就没有施工订单实体的存在,因此对于车主实体来讲施工订单是弱实体,同理施工项目实体如果不存在,同样不存在施工订单实体,因此对施工项目实体而言施工订单是弱实体,具体如图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

车主施工单复合实体示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

我们如何找到业务中的实体?

首先我们要定义的实体,就是最终定义具体业务的关键核心点。而要在业务场景中找到有实际业务意义的实体方法有很多。比如在找实体的过程中我们可以用以下方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

㊀ 利益相关者法:为什么是「利益相关者法」而不是我们所说的用户角色?因为用户角色是以「人」作为纬度的。而「利益相关者法」,并不局限在「人」。所以我们思考业务本身有哪些利益相关者,这些利益相关者有需要我们解决什么问题文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

在B端业务中,经常会涉及到很多利益相关者,而我们可以将一部分利益相关者抽象出一部分实体。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

比如,前段时间的文章《一篇长文:总结B端业务调研的问题》,经过调研后,我们可以输出以下利益相关者:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

利益相关者存在什么问题 / 对系统的期望
客服1、系统上没有对客户下次跟进时间提醒;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

2、不能清晰知道是哪个渠道过来的(抖音、小红书);文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

……

设计师1、量房记录没在系统体现;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

2、收款每次财务审核提交都很难查询记录;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

……

…………

这样一系列调研下来后,我们可以初步的确认这些实体:员工客服人员/设计师/财务人员)、客户渠道量房记录收款记录文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

㊁ 业务流程法:这个方法可以从流程中抽象出实体,因为业务流程往往体现了实体与实体之间的交互过程文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

在《流程图——产品⽂档和原型咋弄》有提到业务流程画法,其中我们还是用《一篇长文:总结B端业务调研的问题》的例子绘制一个简单的业务流程图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

SCRM客户留资实体关系模型图文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

ⓑ 属性(Attribute)

即数据对象所具有的属性,例如员工具有姓名、工号、职位等属性,用椭圆形表示,属性分为唯一属性(unique attribute)和非唯一属性,唯一属性指的是唯一可用来标识该实体实例或者成员的属性,用下划线表示,一般来讲实体都至少有一个唯一属性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

ER图的属性还细分为复合属性多值属性派生属性可选属性,同时还有用来表示联系的属性,称为联系属性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 复合属性(composite attribute):复合属性是指具有多个属性的组合,例如「姓名」属性,它可以包含「姓氏」属性和「名字」属性,如下图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

复合属性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

复合属性也有唯一属性,例如员工的「职位」属性,由于多个「职位」都有「职级」,所以单单「职位」属性是不唯一的,但是和「职级」组成的复合属性后则可以匹配成唯一属性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 多值属性(multivalued attribute):一个实体的某个属性可以有多个不同的取值,例如一辆车的「车型」属性,这辆车有多个「车型」,例如SUV、MPV等,这个「车型」就是多值属性, 用双线椭圆表示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

多值属性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 派生属性(derivers attribute):是非永久性存于数据库的属性。派生属性的值可以从别的属性值或其他数据(如当前日期)派生出来,用虚线椭圆表示,如下图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

派生属性(门店的营销活动参与情况)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

类似上图「门店的营销活动参与情况」中,「参与人数」就是一个派生属性,随着车主参加的活动变化,「参与人数」属性也会变化,一般来说派生属性不存在数据库中,而是通过相应的公式逻辑查询出来,比如:参与记录、活动下单等。而如果存放在数据库中,那么就需要隔一段时间就进行更新,否则会出现数据不对的情况。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 可选属性(optional attribute):并不是所有的属性都必须有值,有些属性的可以没有值,这就是可选属性,在椭圆的文字后用(O)来表示,如下图的地址就是一个可选属性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

可选属性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 联系属性:联系属性用于表示多个实体之间联系所具有的属性,一般来讲M : N的两个实体的联系具有联系属性,在1 : 1和1 : M的实体联系中联系属性并不必要。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

联系属性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

比如上图的「门店」需要开展「营销活动」,那么需要有个「门店开展活动」属性将两个实体联系起来,而这个属性其实是需要「门店id」、「活动id」组合而成的「开展ID」,这里类似数据库中的「复合主键」。而这个「开展日期」、「开展成本」都是用于门店开展活动整体情况数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

ⓒ 关系(Relationship)

用来表现数据对象与数据对象之间的联系,例如「门店」的实体和「员工」的实体之间有一定的联系,每个「门店」都有自己的「员工」,这就是一种关系,关系用菱形来表示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

ER图中关联关系有三种:

◆ 1对1(1:1):1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 1对多(1:N):1对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 多对多(M:N):多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

对于这三种关联关系,其实上面的图例中都有体现出来。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

➍ 产品经理如何进行ER建模绘制ER图?

前面提到ER图分为实体(长方形)、属性(椭圆形)、关系(菱形)三个核心部分,而对于之间的联系(直线表示),相关表示符号见下图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

来源「亿图图示」文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

其实这里从1976年3月陈品山博士发明ER图后,随着实体关系建模的发展,ER图的画法也出现了变化。比如上面是「亿图图示」这个软件提供的ER图图例。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ 陈氏符号,其实就是我们前面提到的案例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

•实体是长方形体现;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

•属性是椭圆形体现,如果是唯一键值属性,就在内容文本中加下划线;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

•关系是菱形体现,菱形内注明实体之间的联系情况;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

•基数就是关系菱形两侧直线内标注关系类型;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

车辆调度ER图——出自processon.com文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◆ UML画法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

使用UML画ER图,其实只是用UML的符号进行绘制而已,并没有什么特别之处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

实体:还是使用矩形表示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

属性:这个时候我们初期都可以先忽略属性,先把实体与实体之间的关系梳理清楚。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

联系:直接使用直线,对比前面的中间有个菱形,这样可能会快捷一些。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

UML画ER图文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

如果在考虑「属性」,那么就会到最开始的汽车美容门店排位系统的图。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

B端产品经理必备技能:ER模型基础概念之业务建模文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

◉ 拓展内容文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

本文章很多内容出自以下书籍:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

• 陈品山博士发表的《The Entity-Relationship Model--Toward a Unified View of Data》文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

• 数据库领域的殿堂级作品《数据库系统概念》文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

• 亿图图示(https://www.edrawsoft.com/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cp/29312.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cp/29312.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定