P.P.S.Chen 提出的 E-R 模型使用 E-R 图来描述现实世界的概念模型。E-R 模型涉及的主要概念包括实体、属性、实体之间的联系等
- 实体 entity:客观存在并可相互区别的事物,比如一个学生,一门课,学生的一次选课
- 属性:实体所具有的特性,比如学生的身高
- 码:唯一标识实体的属性集,比如学生的学号
- 实体型: 实体名+属性名,比如 学生(学号,姓名,性别)就是一个实体型
- 实体集:同一类型的实体的集合,比如全体学生
- 联系 relationship:实体之间的联系(有一对一,一对多,多对多等多种类型)
一、实体之间的联系
1. 两个实体6-型之间的联系
可分为以下三种:
① 一对一联系 1:1
例如一个班级一个只有班长,班长和班级之间具有一对一联系
② 一对多联系 1:n
例如一个班级中有若干个学生,且每个学生只在一个班级中学习,班级与学生之间具有一对多联系
③ 多对多联系 m:n
例如一门课程同时有若干个学生选修,而一个学生可以选修多个课程,则课程和学生之间具有多对多联系
2. 两个以上实体型之间的联系
两个以上实体型之间的联系也存在一对一,一对多,多对多的联系
例如,对于课程,教师,参考书三个实体型,一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的
又如:对于供应商,项目,零件三个实体型,一个供应商可以给多个项目供应零件,每个项目可以使用多个供应商提供的零件,每种零件可由不同供应商提供,则供应商、项目、零件三者之间的关系就是多对多的联系
3. 单个实体型内的联系
同一个实体型内的各实体之间也存在一对一、一对多、多对多的联系。
例如:职工实体型内部具有领导和被领导的联系,即某一职工领导若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系
二、E-R 图
1. 基本表示方法
E-R 图提供了表示实体型、属性、联系的方法
例如:
2. 实例
下面用 E-R 图来表示某个工厂物资管理的概念模型
E-R 图如下:
三、E-R 图向关系模式的转换
1. 转换的一般原则
转换的一般原则:
一个实体型转换为一个关系模式
- 关系的属性就是实体的属性
关系的码就是实体的码
一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并
一个 m:n 联系可以转换为一个独立的关系模式
- 关系的属性:与该联系相连的各实体的码以及联系本身的属性
- 关系的码:各实体型码的组合
三个或三个以上实体间的一个多元联系可以转换为一个关系模式
- 关系的属性:与该多元联系相连的各实体的码以及联系本身的属性
- 关系的码:各实体码的组合
具有相同码的关系模式可合并
目的:减少系统中的关系个数
2. 实例
物资管理的 E-R 图如下:
一个实体型转换为一个关系模式:
供应商(供应商号,姓名,地址,电话号,账号)
项目(项目号,预算,开工日期)
零件(零件号,名称,规格,单价,描述)
仓库(仓库号,面积,电话号)
三个或三个以上实体间的一个多元联系可以转换为一个关系模式:
供应(供应商号,项目号,零件号,供应量)
一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并
职工(职工号,姓名,年龄,职称,仓库号,领导职工号)
一个 m:n 联系可以转换为一个独立的关系模式
库存(仓库号,零件号,库存量)