本文章和大家分享如何画ER图,因为在计算机毕业设计、课程设计、文档报告中经常用到,所以还是有必要和大家共同来学习一下。
在我们毕业论文、课题报告等文档中,涉及到画E-R图(实体-联系图)是非常常见的。如上图所示,我将详细为大家介绍E-R图中每个图形的含义及用法,在我们针对自己的系统如何画E-R图,这才是至关重要的!
长方形:表示实体。
什么是实体?实体是客观存在的事物。例如用户、商品、订单、供应商等。说直白点!!!你数据库的表名就可以做一个实体对象。一个系统是由很多个实体对象构成的,然后它们之间存在一定的关系和属性。
椭圆形:表示属性。
什么是属性?举例子:用户实体拥有属性【id、姓名、年龄、电话、身份证号】、商品实体拥有属性【id、商品名称、商品类型、商品价格、商品图片、商品描述、供应商名称】、订单实体拥有属性【id、订单编号、用户名称、商品名称、下单日期】、供应商实体拥有属性【id、名称、地址、联系电话】。
菱形:表示关系。
什么是关系?例如用户和商品应该购买关系(一个用户购买多件商品)、订单与商品应该是包含关系(一个订单中包含多件商品)。
双实线长方形:表示弱实体。
什么是弱实体?如果一个实体依赖于某个实体而存在,那么前者是弱实体,后者为强实体。例如订单实体依赖于商品实体而存在,为什么?因为如果没有商品你能够下订单吗?不可能!所以订单为弱实体,商品为强实体。
双实线椭圆形:表示多值属性。
什么是多值属性?例如一个用户可能拥有多个电话号码,所以电话号码可以作为多值属性。一个用户只能拥有一个身份证号码,所以身份证号不能作为多值属性。
虚线椭圆形:表示派生属性。
什么是派生属性?例如一个用户的年龄我们可以作为派生属性,为什么?因为它可以通过身份证号推导出来。所以需要注意的是能推导出来的属性我们都可以作为派生属性。
双实线菱形:表示弱关系。
什么是弱关系?弱关系一般是和弱实体一起使用的,只有弱实体才会用到弱关系。
单竖线倒三角形:表示概化。
什么是概化?说直白点就是分组!!!一个商品类型可能包含图书类、服装类、数码类等。
双竖线倒三角形:表示全部概化。
什么是全部概化?说直白点也是分组!!!但是!!!一个商品类型只能包含图书类、服装类、数码类。这就是概化与全部概化的区别。
一对一(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)个实体有关系。
例如:用户与商品的关系,一个用户可拥有多件商品。同样一件商品可被多个用户所拥有。所以这就是多对多的关系。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190780.html原文链接:https://javaforall.cn