一、问候语
二、题目
三、如何分析问题并绘制E-R模型图
1、认识E-R模型三要素
在分析问题前,我们首先要知道E-R模型的三要素分别是实体(用矩形表示)、属性(用椭圆形表示)、联系(用菱形表示)。
客观存在并可相互区分的事物叫实体,例如学生、教师。
实体所具有的某一特性称为属性,例如学生的姓名、学生的ID号。
现实世界中的事物之间是有联系的,这些联系反映为实体内部的联系与实体之间的联系,例如学生和成绩单是两个不同的实体,学生与成绩单之间的联系是拥有的关系,即学生拥有成绩单。
2、提取E-R模型三要素
Ⅰ.确定实体:由问题描述可以知道共有3个实体,分别是车队、车辆、司机
Ⅱ.确定各实体的属性:由题目可以提取出信息,车队的属性有车队号、车队名。车辆的属性有牌照号、厂家、出厂日期。司机的属性有司机编号、姓名、电话
Ⅲ.确定各实体间的联系:由题目可以提取出信息,车队与司机之间存在“聘用”联系,车队与车辆之间存在“拥有”联系,司机与车辆之间存在“使用”联系
Ⅳ.确定各联系是否存在属性:我们通过依次分析三个关系,发现“聘用”关系有“聘用开始时间”和“聘期”两个属性。“使用”关系有“使用日期”和“公里数”两个属性
3、认识联系类型
不同实体间的联系有3种情况,分别是1:1 1:n(n:1) m:n(n:m)
Ⅱ.1:1即一对一的关系,例如某个员工属于某个部门
Ⅱ.1:n即多对多的关系,例如属于某个部门可以有多名员工
Ⅱ.m:n即多对多的关系,例如某本书可以被多名学生借阅,某名学生可以借阅多本书
4、认识主键(主码)和外键(外码)
Ⅰ.超键在关系中能唯一标识元组的属性集称为关系模式的超键(只要有一个键唯一,再随便组其他的键,合起来叫主键)。例如学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(身份证号,性别)等
Ⅱ.候选键不含有多余属性的超键称为候选键。候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。例如学生表中的候选键为:(学号)、(身份证号)。
Ⅲ.主键关系型数据库中的一条记录中有若干个属性,若其中某一个属性集能唯一标识一条记录,该属性组就可以成为一个主键 (在超键选取一个作为主键,如果有多个字段的叫为联合主键),不管是一个字段的主键,还是多个字段的联合主键,都是唯一的。例如学生表中,我们通常会让“学号”做主键,教师表中让“教师编号”做主键。不将学生的姓名或者教师的姓名作为主键是因为不同学生或教师的姓名是有可能相同的,不能作为唯一标识,而学号和教师编号是唯一标识的,可以作为主键。 在E-R图中,我们需要在主键下方画横线以表示该为主键
Ⅳ.外键如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。外键是构建起两个实体或者实体与联系间的桥梁。例如一名学生的属性有学号,姓名,班级编号,其中学号是主键。班级的属性有班级编号,班级口号,班级位置,其中班级编号是主键。此时班级编号是学生这个实体的非主键属性,而却是班级这个实体的主键属性,此时可以认为学生实体的班级编号是外键,它搭建起了学生这个实体与班级这个实体的桥梁。
5、绘制E-R模型图
我们在了解完以上的知识点以后就可以绘制E-R模型图了,绘制时的连线采用的无向图连线
四、如何将E-R图转换成关系模型
1、认识实体集和关系如何转成几个关系
在一个E-R图(实体-关系图)中,实体集和联系是构建关系模型的基础。
Ⅰ.实体集转成关系每个实体集通常直接转化为关系模型中的一个关系。因此,有几个实体集将转化为几个关系。
Ⅱ.1:1联系转成关系1:1联系通常意味着其中一个实体集在关系模型中具有一个外键,该外键引用另一个实体集的主键。因此,这个联系不会引入新的关系,而是会在其中一个关系中添加一个外键。1:1联系在任意一个实体集加外键都可以,但是我们一般将外键加在非核心的实体上。
Ⅱ.1:n联系转成关系1:n联系通常意味着其中一个实体集在关系模型中具有一个外键,该外键引用另一个实体集的主键。因此,这个联系不会引入新的关系,而是会在其中一个关系中添加一个外键。1:n联系一般将外键加在n的实体上。
Ⅱ.m:n联系转成关系m:n联系在关系模型中通常需要一个新的关系来表示。这个新关系将包含两个外键,分别引用参与该联系的两个实体集的主键。
2、分析问题并提取出关系
由题目题意可知,共有3个实体,分别是车队、车辆、司机,这3个实体直接转换成3个关系。
由题目题意可知,共有2个1:n联系,分别是1个车队对应n个车辆、1个车队对应n个司机,此时不添加新的关系
由题目题意可知,共有1个m:n联系,分别是m个车辆对应n个司机,此时添加1个新的关系
总上我们可以分析出共有3+1=4个关系
3、写出各关系具体内容
关系的写法一般是:实体/联系(属性1,属性2,...,属性n)。在1:1联系中在任意一个实体集加外键都可以,但是我们一般将外键加在非核心的实体上。1:n联系一般将外键加在n的实体上。m:n联系中有可能会出现联合主键,此时的联合主键也是联合外键。如果不是联合主键,那么外键分别是两端实体的主键。我们需要在主键下方画横线以表该为主键
五、如何将关系模式转换成数据库模型图
转换方法
我们将不同的关系绘制成不同的矩形,关系名写在矩形上方,矩形内部写出每一个属性,其中主键和外键的属性需要特殊标记,主键一般写在矩形顶部,并用横线将主键和非主键分割开来。关系间的连线采用有向图连线,从某一关系的外键指向另一方关系的主键。