网站首页 > 技术文章 正文
当你设计一个新的功能模块,服务端童鞋一定会追问你具体有哪几种实体以及之间的关系,如果你没想清楚或者描述含糊,那么就有必要学习一下ER图。
你是否碰到过类似的问题?
- 设计优惠券模块,有几个概念容易混淆。比如运营新建的一批优惠券,然后用户领了其中一张优惠券,而这一张有可能可以多次使用(比如uber)。请问这3种分别是什么,之间的关系,以及如何区分这3者……
- 设计商品模块,spu、sku、商品很容易混淆,更进一层有商品条形码、商品编码等等。怎么和服务端童鞋解释清楚他们是一件很头疼的事情。
- 更复杂一点,如果设计商城系统,服务端童鞋会问你这个商城的怎么搭建,核心有哪些东西。
这些问题该怎么解决?
其实这些看似复杂的问题,作为PM先用ER图来梳理清楚,再和服务端确认是最合适的工作方法。你要知道文字很难描述清楚。而原型线框图无法直接表现这些。
ER图是什么?
先说概念,ER图是用来描述现实世界中的实体关系模型,所谓实体是指客观上或者逻辑上存在并且可以区分的人事物。
ER图有什么作用?
ER图会促使你以最适合技术理解实现的方法,来规范的描述功能模块的核心要素,其实就是数据库的物理结构。而这种描述是无二义的,最清晰传达PM的设计思想。
优惠券的ER图
拿上面的案例1来画一张ER图,这样子表述就很清晰,其中联系“生成”属性可以不画。
当然如果业务不一样,比如限定每张领到的券和线下商场一样只能用一次。那图应该是这样,注意区别。
ER图包含哪几种要素?
实体
是指客观上或者逻辑上能够相互区分的事物。
在ER图中用矩形表示,矩形框内写明实体名。
属性
实体所具有的某一特性,一个实体可由若干个属性来刻画。
在ER图中用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系
也称关系,反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在ER图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
连接线
实体与属性之间;实体与联系之间;联系与属性之间均用直线相连,并在直线上标注联系的类型。
ER图该怎么画?
要素如何表示
画图步骤
- 首先确定这个模块有哪几个核心的对象以及具体有哪些特征,
- 其次思考这些对象之间的关系,如何相互转变。
- 最后把他们用ER图的方法表述出来。
- 当然需要尽量精简实体以及优化属性。
接下来把最开始的2个案例也画一下,方便大家理解。
B2C商城的商品模块
B2C商城的系统
注意里面有个仓库的概念。
总结
ER图是一种高效传达功能的手段,状态机也是。千万不要以为不学会就没办法做产品,但是学会了这些方法之后,对于设计和实现层面会有极大的效率提升。
#专栏作家#
浪子,公众号langzishuo,人人都是产品经理专栏作家。业务型PM。
本文原创发布于人人都是产品经理。未经许可,禁止转载。
- 上一篇: 实体关系图怎么画?5步经典教程告诉你关系图画法
- 下一篇: 关系模型是什么?你需要知道的模型图绘制方法
猜你喜欢
- 2024-11-05 数据库系统原理:关系模型 数据库关系模型概念
- 2024-11-05 快速云:在access在关系模型中,用来表示实体关系的是什么
- 2024-11-05 最常用的数据模型 - 关系模型 数据关系模型由什么组成
- 2024-11-05 产品经理必须懂的关系模型:一对一,一对多以及多对多关系
- 2024-11-05 关系模型-基本概念 关系模型是什么意思
- 2024-11-05 数据库实体关系图ERD 数据库实体关系图怎么画
- 2024-11-05 MySQL数据库实体关系模型(E-R模型
- 2024-11-05 性能优化-ER模型基础教程:理解实体关系建模
- 2024-11-05 关系型数据库中的实体-关系模型 关系数据库实体之间的联系
- 2024-11-05 关系模型是什么?你需要知道的模型图绘制方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)