E-R设计

实体关系图

实体关系图也被称为 ERD、ER 图、实体联系模型、实体联系模式图或 ER 模型,是一种用于数据库设计的结构图。一幅 ERD 包含不同的符号和连接符,用于显示两个重要的资讯: 系统范围内的主要实体,以及这些实体之间的相互关系。

E-R图作用

1、数据库设计 - 通过绘制 ER 图来展示数据库设计意念,找出错误和识别设计缺陷,并在执行数据库更改之前作出修正。
2、数据库调试 - 通过 ERD 来展示数据库结构,可以全面地了解整个数据库的结构。可以轻松找到实体,查看其属性并确定与别的实体的关系,更轻松地找出数据库的问题。
4、帮助收集需求 - 通过绘制ERD来表达系统中的高级业务对象以用于确定系统的需求。这种初始模型也可以演化为物理数据库模型,用于创建关系数据库,或为创建流程图和数据流模型提供有力的参考。

构图要素

实体、属性和联系。
1、实体
表示具有相同属性或特征的事物的集合。用圆角矩形框来表示,记录集名字在框中。
2、属性
用来描述实体的特征和性质,用椭圆表示属性姓名,名字写在椭圆中,如果为主键属性,其名字带下划线。
3、联系
描述实体与实体之间的联系特征。用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型。

一般性约束

实体-联系数据模型中的联系型,存在3种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),它们用来描述实体集之间的数量约束:
1、一对一
例如学生和床位,一个学生只有一个床位,一张床位只有一个学生。
2、一对多
例如学生和系,一个学生只属于一个系,一个系拥有多个学生。
在这里插入图片描述
3、多对多
例如学生和课程,一个学生可以选择多门课,一门课可以被多个学生选。这属于多对多关系,在多对多关系中,联系也可能有属性。选课关系有成绩的属性,这个属性既不属于学生也不属于课程。
注意:一般选课表就只记录学生编号和课程编号,成绩表才是用来记录成绩。
在这里插入图片描述

弱实体

一个实体必须依赖于另一个实体存在,那么前者是弱实体,后者是强实体,弱实体必须依赖强实体存在。弱实体和强实体的联系必然只有1:N或者1:1,这是由于弱实体完全依赖于强实体,强实体不存在,那么弱实体就不存在,所以弱实体是完全参与联系的,因此弱实体与联系之间的联系是用的双线菱形。例如学生和成绩单,成绩单不能确认是哪个学生的成绩单,依赖于学生的学号才能确定。成为了弱实体集之后,编号叫做分辨符它与学号一起构成了成绩单的主码。
在这里插入图片描述

ER属性补充

1、派生属性不出现
人(身份证,姓名,年龄),由身份证可以得出年龄,所以年龄是派生属。
在这里插入图片描述
2、复合属性由子属性代替
人(身份证,姓名),姓名的子属性为姓、名应该改为人(身份证号,姓,名)。
3、多值属性也构建
一个实体的某个属性可以有多个不同的取值,例如一本书的分类属性,这本书有多个分类,例如科学、医学等,这个分类就是多值属性, 用双线椭圆表示。
在这里插入图片描述
4、可选属性(optional attribute):并不是所有的属性都必须有值,有些属性的可以没有值,这就是可选属性,在椭圆的文字后用(O)来表示。

概念设计

(1)确定所有的实体集合;
(2)确定实体集应包含的属性;
(3)确定实体集之间的联系;
(4)确定实体集的关键字,用下划线在属性上表明关键字的属性组合;
(5)确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型。

E-R图转成关系模型

转换原则

⒈ 一个实体型转换为一个关系模式。
关系的属性:实体型的属性
关系的码:实体型的码

⒉ 一个m:n联系转换为一个关系模式(初步,以后可能调整)。
关系的属性:与该联系相连的各实体的码以及联系本身的属性
关系的码:各实体型码的组合

⒊ 1:n联系—与n端对应的关系模式合并
在n端关系中加入1端关系的码和联系本身的属性

⒋ 一个1:1联系,可以与任意一端对应的关系模式合并。

⒌ 3个或3个以上实体间的一个多元联系转换为一个关系模式。关系的属性:与该多元联系相的各实体的码以及联系本身的属性关系的码:各实体码的组合

⒍ 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。

⒎ 具有相同码的关系模式可合并。
目的:减少系统中的关系个数
8. 弱实体:由于弱实体总是全参与它与它的标识实体之间的多对一联系,因此可以采用上面提出的一对多联系方法进行转换。弱实体转换后生成的表的主键由标识实体的主键与弱实体本身的部分键组合而成

在这里插入图片描述

供应商(供应商编号,地址,电话)
供应(供应商编号,项目号,零件号,供应量)
项目(项目号,预算,工期)
零件(零件号,零件名,单价)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值