开发人员|ER(实体关系)建模入门指引( 二 )
例如就算两个用户的昵称相同,也可以通过用户id来区分。
下图是一个电商平台用户可能存在的部分属性,关于属性的定义、个数需要视具体的业务诉求而定,我们可以在具体的设计环节一步步完善,不一定要在实体关系建模中就要求全部罗列出来。
文章插图
3. 关系两个实体之间的关系表示这两个实体以某种方式相互关联。
例如在电商平台中,当用户下单时,一个订单可以包括多种商品,因此“订单”与“商品”之间是有关系的。而这关系则在 ER 图中以连接线表达着。
文章插图
4. 基数1)基数的定义以及类型
基数是定义关系所关联的两个实体的实例之间互相可以关联的个数。
常见的基数关系有:一对一、一对多、多对多。
文章插图
一对一的关系
文章插图
一对多的关系
文章插图
多对多的关系
理解基数联系的方法是从两个方向进行解读,但不管从哪个方向开始读起,都必须是1开头,例如“1个学生可对应多门课程,1门课程可对应多个学生”。
2)进阶概念
关于基数,上述内容已经可以满足我们产品经理的日常使用,但如果你还想更加严谨界定基数的边界值,我们还可以使用区间来表达基数。
比如一个订单至少要包括1个商品,也可以包括多个商品。但是一个商品,可以不属于任何订单(比如没有交易的情况),也可以属于多个订单。
文章插图
“1..*”表示1到多个,是一种强制性对应关系。
“0..*”表示0到多个,即0个或者1到多个,是一种可选对应关系。
文章插图
上图表示1个实体A对应0到3个实体B,“0..3”表示0到3个,“x..y”表示(x到y个,且x小于y)。
四、从产品的角度,如何绘制ER图?ER图最早是由美籍华裔计算机科学家陈品山(Peter Chen)发明,他创建了陈氏ER符号体系。
随着实体关系建模的发展,也出现了其他符号体系,下图是ER图的几种不同画法。其中比较常见有陈氏符号(Chen)、鸭掌模型(Crow’s Foot)、UML中的类图画法。
文章插图
图来自决胜B端知识星球
个人感觉陈氏符号与UML画法更容易让常人理解,所以本文简单介绍这两种画法;至于鸭掌模型(Crow’s Foot),大家有兴趣可以自行了解。
陈氏符号
实体:实体用矩形表示。
属性:属性用椭圆表示,椭圆内注明属性内容,若是该属性为键值属性,可以在属性下方用横线表示。
联系:实体之间通过菱形与直线相连,菱形内注明实体之间的联系情况。
基数:菱形两侧注明基数关系。
文章插图
UML画法
我们可以用UML类图的画法来构建实体关系模型,有些朋友可能会对类图和ER图的关系有疑问。ER图是表示实体关系模型的图形,ER图的画法有很多种,而UML类图的符号标准则是其中一种。
实体:实体用矩形表示。
属性:产品经理使用UML画法去绘制ER图的时候,其实可以先不标出属性,因为我们在实体关系建模阶段更关注的是有哪些实体,这些实体之间的关系是什么?至于属性,我们可以在具体的产品设计中去完善。
联系:实体之间通过直线相连,直线两端标明基数限制关系。关于基数的具体表达方式,我在上面已经做了介绍,就不赘述了。
延续上面举过的电商平台买家下单简易流程的例子,分别画出简易版的实体关系图以及进阶版(对基数关系做了更加充分的说明)。
文章插图
实体关系基础版,可以帮助我们快速进行实体关系建模。
文章插图
实体关系进阶版,更加严谨的说明了基数的限制关系。
五、写在最后笔者认为ER建模最产品经理最大的意义还是在于帮助我们抽象、归纳业务本质,可以在一定程度上提升产品设计的效率与科学性。
本文只是从产品经理的角度出发,简单分享了实体关系建模的基础知识,实际上ER建模是一门很复杂的学问,需要长期的沉淀与实践。
- 辟谣|相关人员:薇娅复出不太可能;宁德时代辟谣与特斯拉谈崩丨邦早报
- 电子商务|与电商平台“抢饭碗”?新零售行业已逐渐兴起,实体店老板福来了
- 安卓|谷歌发布Android 13开发者预览版,首批适配多款谷歌手机
- 红米手机|Redmi K50电竞版汇总!120W快充+实体肩键2.0,网友:有点东西
- 售后服务|折叠屏维修难?博主摔坏机子,一文告诉你售后服务真实体验
- 电子商务|大量实体店倒闭与疫情无关,真正的原因有3个,电商是罪魁祸首
- 小米12|买手机不要人云亦云,小米12真实体验:这就是我要的小屏旗舰!
- pi|安卓13来了!谷歌Android 13首个开发者预览版发布
- 三星|买手机在网上买还是实体店买好?过来人经验了解下,帮你避开大坑
- 小程序|珠宝实体店压力来自四面八方,且看小程序如何让其渐入佳境
