ER图规范画法和sql快速生成ER图

456 阅读6分钟

怎么画ER图? 国内的ER图一般采用的是Chen Model,ER图分为两种:完整的总ER图(实体、字段属性、关联关系和关联关系属性)和简易总ER图(实体、关联关系和关联关系属性)。 1.ER图中图形 ER图的图形元素有矩形、双实线矩形(弱实体)、实线椭圆、双实线椭圆(多值属性)、虚线椭圆(派生属性)、菱形、双实线菱形(弱关联关系)、单竖线倒三角形(概化/分组)、双竖线倒三角形(全部概化)、连线。 矩形:表示实体。 什么是实体?实体是客观存在的事物。例如用户、商品、订单、供应商等。说直白点!!!你 数据库 的表名就可以做一个实体对象。一个系统是由很多个实体对象构 成的,然后它们之间存在一定的关系和属性。 椭圆形:表示属性。 什么是属性?举例子:用户实体拥有属性【id、姓名、年龄、电话、身份证号】、商品实体拥有属性【id、商品名称、商品类型、商品价格、商品图片、商品描述、供应 商名称】、订单实体拥有属性【id、订单编号、用户名称、商品名称、下单日期】、供应商实体拥有属性【id、名称、地址、联系电话】。 菱形:表示关系。 什么是关系?例如用户和商品应该购买关系(一个用户购买多件商品)、订单与商品应该是包含关系(一个订单中包含多件商品)。 双实线矩形:表示弱实体。 什么是弱实体?如果一个实体依赖于某个实体而存在,那么前者是弱实体,后者为强实体。例如订单实体依赖于商品实体而存在,为什么?因为如果没有商品你能够下 订单吗?不可能!所以订单为弱实体,商品为强实体。 双实线椭圆形:表示多值属性。 什么是多值属性?例如一个用户可能拥有多个电话号码,所以电话号码可以作为多值属性。一个用户只能拥有一个身份证号码,所以身份证号不能作为多值属性。 虚线椭圆形:表示派生属性。 什么是派生属性?例如一个用户的年龄我们可以作为派生属性,为什么?因为它可以通过身份证号推导出来。所以需要注意的是能推导出来的属性我们都可以作为派生 属性。 双实线菱形:表示弱关系。 什么是弱关系?弱关系一般是和弱实体一起使用的,只有弱实体才会用到弱关系。 单竖线倒三角形:表示概化。 什么是概化?说直白点就是分组!!!一个商品类型可能包含图书类、服装类、数码类等。 双竖线倒三角形:表示全部概化。 什么是全部概化?说直白点也是分组!!!但是!!!一个商品类型只能包含图书类、服装类、数码类。这就是概化与全部概化的区别。 2.ER图中关联关系 一对一(1:1) :1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关 系。例如:一个用户只能拥有一张身份证,而一张身份证只属于一个用户。所以这就是一对一的关系。 一对多(1:n) :1对多关系是指实体集A与实体集B中至少有n(n>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。例如:一对多和多对一是一样的。一个用户拥有多张银行卡,但是一张银行卡只属于一个用户。所以这就是一对多的关系。反过来说法就是多对一。 多对多(m:n) :多对多关系是指实体集A中的每一个实体与实体集B中至少有m(m>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少n(n>0)个实体 有关系。例如:学生与课程的关系,一个学生可以选择0个或者多个课程,一个课程可以0个或者多个学生所选择。这就是多对多的关系。 3.画ER图方法 一般我们要完整地分析出系统的实体、字段属性、关联关系、关联关系属性,最好实体的关系模式满足3NF或者BCNF,画出来的ER图才能比较合理。 我们可以先将每一个实体单个画出来,包括实体的字段属性,如下: 然后画菱形关联关系,将实体和实体连接起来,如下: 最后我们再核对下整体ER图,优化图,比如对多对多的关联关系补充关联关系属性,如下: 4.快速生成ER图方法 以往的ER图、用例图、功能结构图、流程图等画图软件(比如Visio、drawio、EA、Rose、StartUML等)都需要我们花费一些时间去画图,也不算很方便,如果你想省时省力,请看这里-ER图快速生成 两种方式生成ER图: 《1》导入sql来生成er图--准备好sql文件,点击“导入SQL”,等待画图区域生成图;然后点击“显示/刷新实体关联关系”,在画图区域上方会出现实体关联关系选择框,选择合理的实体关联关系(1对1、1对多、多对多),输入合理的关联关系名称,点击“添加关联关系”,将关联关系添加进关联关系列表里面,如果觉得不合适的关联关系,可以选中,点击“删除选中关系”将选中的关联关系从关联关系列表移除,确定所有实体关联关系都添加完了,点击“生成ER图”,等待画图区域生成图,最后调整图对象,进行排版,排版在画图区域生成图后,选择调整图形-布局-力导向图,这样图自动就调整了。 《2》输入实体名和字段属性来生成er图--确定实体数目,输入实体数目,点击“生成实体”,生成对应数目的实体框和字段属性框,给每个实体框和字段属性框输入内容;输入完毕后,点击“显示/刷新实体关联关系”,在画图区域上方会出现实体关联关系选择框,选择合理的实体关联关系(1对1、1对多、多对多),输入合理的关联关系名称,点击“添加关联关系”,将关联关系添加进关联关系列表里面,如果觉得不合适的关联关系,可以选中,点击“删除选中关系”将选中的关联关系从关联关系列表移除,确定所有实体关联关系都添加完了,点击“生成ER图”,等待画图区域生成图,最后调整图对象,进行排版,排版在画图区域生成图后,选择调整图形-布局-力导向图,这样图自动就调整了。 效果图: