er图

1. 什么是er图

​ E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法。是通过图形描述实体集、实体属性和实体集之间联系的图形。

2. er图有什么作用
  • 描述现实世界关系概念模型的有效方法。
  • 完成对系统中数据部分设计。
3. 构图要素
  • 实体:客观存在并可相互区别的事务成为实体。实体可以时具体的人、事、物,也可以是抽象的概念或联系。用实体名及其属性名集合来抽象和刻画同类实体**。在E-R图中用矩形**表示,矩形框内写明实体名。例如:一位顾客,一件商品,一个品牌,一个订单都是实体。
  • 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如商品的名称、品牌、价格都是属性。
  • 联系:联系也称关系,反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。例如:顾客购买商品存在购买关系,品牌生产商品存在生产关系。
4. 一般性约束

​ 实体-联系数据模型中的联系型,存在3种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),它们用来描述实体集之间的数量约束。

  • 一对一联系(1 ∶1)

    ​ 对于两个实体集A和B,若A中的每一个值在B中至多有一个实体值与之对应,反之亦然,则称实体集A和B具有一对一的联系。例如:一个人只能有一个身份证号,一个身份证号标识一个人。学校里一名学生只有一个学号,相应的一个学号可以标识一位学生。

  • 一对多联系(1 ∶N)

    ​ 对于两个实体集A和B,若A中的每一个值在B中有多个实体值与之对应,反之B中每一个实体值在A中至多有一个实体值与之对应,则称实体集A和B具有一对多的联系。例如:一个订单可以有一个或多个商品,一个商品只能生成一个订单。一个学生属于一个班级,一个班级可以有多个学生。

  • 多对多联系(M ∶N)

    ​ 对于两个实体集A和B,若A中每一个实体值在B中有多个实体值与之对应,反之亦然,则称实体集A与实体集B具有多对多联系。例如:一个顾客可以购买多个品牌的商品,一个品牌的商品可以被多个顾客购买;一门课程可以被多个学生学习,以个学生可以学习多门课程。

5. er实体拓展
  • 弱实体:

    ​ 一个实体必须依赖于另一个实体存在,那么前者是弱实体,后者是强实体,弱实体必须依赖强实体存在,例如上图的顾客实体和订单实体,订单依赖于顾客实体而存在,因此顾客是强实体,而订单是弱实体。

    ​ 弱实体和强实体的联系必然只有1:N或者1:1,这是由于弱实体完全依赖于强实体,强实体不存在,那么弱实体就不存在,所以弱实体是完全参与联系的,因此弱实体与联系之间的联系也是用的双线菱形。

6. er属性拓展
  • 多值属性(multivalued attribute): 一个实体的某个属性可以有多个不同的取值,例如一个学生可能有几个兴趣,这些学生可能有“体育、电影、旅游、学习”四个兴趣或者其中的一两个,所以兴趣是一个多价值属性,用双线椭圆表示。
  • 派生属性(derivers attribute): 是非永久性存于数据库的属性。派生属性的值可以从别的属性值或其他数据(如当前日期)派生出来。数据库一般只存基础属性,比如学生实体有姓名,出生年月这些属性,那么年龄是可以通过出生日期计算得到的。年龄就是派生属性,用虚线椭圆表示。

主键用下划线标识。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值