内容正文:
项目1:部署数据库开发环境
任务1 数据模型的规划与设计
—— 数据库逻辑模型设计
教学目标
素质目标
知识目标
1线上线下结合,引导学习方式,培养自主学习能力;
2培养学生积极探索、勇于创新的科学素养;
3养成小组沟通协作共同学习,解决问题能力和团队合作精神;
4思政内容:围绕关系模式优化,树立数据库开发的质量意识与工匠精神。
1能利用讲授的课程学习方法学习本课程;
2能理解关系模型相关的基本概念;
3能熟练掌握关系的性质;
4理解关系的关整性规则;
5会将E-R图转化为关系模型。
能力目标
1能将关系模型中主键、外键、主表、从表四个概念间的联系及对以后设计数据库的影响理解透彻;
2能将E-R图转化为关系模型;
教学重点
将E-R图转化为关系模型时,如何确定主键、外键、主表与从表
教学难点
理解主键、外键、主表与从表在数据表设计中的应用
教学重难点
知识储备
1.关系模型的基本概念
关系模型中数据的逻辑结构是一张二维表,它由行和列组成。下面以表为例说明关系模型的基本概念。
学生表
数据库逻辑模型设计
4
学号 姓名 性别 出生日期 专业名 所在学院 联系电话 总学分
2020110101 朱博 男 2002-10-15 云计算 计算机学院 13845125452 Null
2020110102 龙婷婷 女 2002-11-05 云计算 计算机学院 13512456254 Null
2020110201 曹科梅 女 2002-06-09 信息安全 计算机学院 13465215623 Null
2020110301 李娟 女 2002-08-24 网络工程 计算机学院 13305047552 Null
4
知识储备
1.关系模型的基本概念
(一)关系(Relation)
一个关系就是一张二维表,每个关系都有一个关系名,如表1.1所示的关系,其名称为学生信息表。
(二)元组(Tuple)
元组也称记录,关系中的每一行对应一个元组,如表1.1就是由4个元组组成的。
(三)属性(Attribute)
二维表的一列即为一个属性,每个属性的名称为属性名。
互动1:在二维表中的能否存在相同的属性?请举例说明。
5
数据库逻辑模型设计
5
知识储备
1.关系模型的基本概念
(四)域(Domain)
属性的取值范围称为域。如“性别”这个属性,其取值范围只能是男或女。
(五)关系模式(Relation Mode)
对关系信息结构和语义的描述称为关系模式。关系模式用关系名、属性名及其主键来表示,如学生表的关系模式可表示为:学生表(学号、姓名、性别、出生日期、专业名、所在学院、联系电话、总学分),其中学号为主键。
关系和关系模式的联系与区别:关系模式是对关系结构的描述,由所有属性组成,是静态的、稳定的。关系是二维表格,既包含了关系模式中的结构,即属性,又包含了属性值。由于属性值在关系操作中可能会不断更新,所以关系是动态的。
6
数据库逻辑模型设计
6
知识储备
1.关系模型的基本概念
(六)候选键(Candidate Key)
在一个关系中,如果某一个属性或属性的组合能唯一标识一个元组,则称该属性或属性的组合为候选键,候选键又称为候选码,可简称为键或码。如在学生情况表中,如果姓名没有重名的情况下,学号和姓名都可以作为候选键。
(七)主键(Primary Key)
用户选定的用于标识元组的候选键称为主键,主键又称为主码。如在学生情况表,在学号和姓名两个候选键中选择学号用为元组的标识,则学号就称为主键。主键的属性值不能有空值(null)和重复值。
7
数据库逻辑模型设计
7
知识储备
1.关系模型的基本概念
(八)主属性(Prime Attribute)和非主属性(Non-Prime Attribute)
构成候选键的属性称为主属性,如学号和姓名是主属性;非候选码的属性称为非主属性,如性别、出生日期、专业名、所在学院、联系电话和总学分。
(九)外键(Foreign Key)
一个关系的某个属性不是该关系的主键,或只是该关系主键的组成部分,但却是另一个关系的主键,则这样的属性称为该关系的外键。外键用于实现表与表之间的联系。
8
数据库逻辑模型设计
8
知识储备
1.关系模型的基本概念
在学生表中,学号是主键;在成绩表中的学号和课程号是主键(由两个属性组成),成绩表中的学号就是成绩表的外键,通过学号可以使学生表和成绩表建立关联关系。
9
学号 课程号 成绩 学分
2020110101 101 83 2
2020110101 102 64 5
2020110102 102 67 5
成绩表
数据库逻辑模型设计
9
知识储备
1.关系模型的基本概念
(十)主表和从表
在通过外键相关联的两个表中,主表是指以另一张表的外键作为主键的表,从表是指外键所在的表。如在学生表和成绩表中,成绩表是外键(学号)所在的表,是从表;学生表是以成绩表的外键(学号)作为主键,是主表。
10
数据库逻辑模型设计
10
知识储备
2.关系的性质
关系可以用二维表来表示,但在关系数据库中,关系必须是规范化的,关系具有如下的性质:
每个关系只有一种关系模式;
同一属性的属性值具有同质性,即取值具有相同的意义,如性别这个属性,取值为男或女,其意义都是用于表示性别;
同一个关系中属性名不能重复;
11
数据库逻辑模型设计
11
知识储备
2.关系的性质
同一个关系中不能有相同的元组,即二维表的不同行之间不能出现属性值都相同的情况;
关系中行的顺序无关性,即行的次序可以任意交换,并不影响数据的意义;
关系中列的顺序无关性,即列的次序可以任意交换,并不影响数据的意义;
关系中的每个属性必须是不可分割的。关系所对应的关系表必须是二维表,不能是复合表。
12
数据库逻辑模型设计
12
知识储备
2.关系的性质
成绩属性可以分割为云操作系统和数据库两个成绩,这个表是复合表,不是二维表,这样的关系在数据库中不允许存在。
复合表:
将上表进行重新设计,形成如下表所示就可以了。
二维表:
13
姓名 所在学院 成绩
云操作系统 数据库
朱博 计算机学院 86 83
龙婷秀 计算机学院 61 69
姓名 所在学院 云操作系统 数据库
朱博 计算机学院 86 83
龙婷秀 计算机学院 61 69
数据库逻辑模型设计
13
知识储备
3.关系的完整性规则
关系的完整性规则是对关系的约束条件,通过这些约束条件可以保证数据库中数据的合理性、正确性和一致性。
关系模型中包括3类完整性约束:实体完整性、参照完整性和域完整性。其中,实体完整性和参照完整性是关系模型中必须满足的完整性约束条件,由数据库系统自动支持,域完整性是用户在应用数据库时对具体领域中所定义的约束条件。
14
数据库逻辑模型设计
14
知识储备
3.关系的完整性规则
(一)实体完整性
实体完整性要求组成关系的任意一个元组,其主键的值不能为空值或重复值。
在现实世界中的实体是可确定、可区分的,它们具有某种唯一性标识,这个标识在关系模式中,就是主键,用主键可以唯一地标识该实体,如果主键取空值或重复值,就表示存在不可确定的,或是不可区分的实体,这是不允许的。
如关系模式“学生表(学号、姓名、性别、出生日期、专业名、所在学院、联系电话、总学分)”中,主键是学号,则学号的属性值不能为取空值,也不能取重复值。每个学生都应该有一个学号,所以学号不能为空值;同时也不能把一个学号分配给不同的学生,因此学号不能取重复值。
15
数据库逻辑模型设计
15
知识储备
3.关系的完整性规则
(二)参照完整性
参照完整性规则也称为引用完整性规则,这条规则要求“不引用不存在的实体”,是要求被从表中外键所参照的主表中的主键必须是客观存在的。
由于实体之间往往存在着某种联系,这种实体间的联系在关系模式中表现为属性的参照关系。
如在学生表、课程表、成绩表的关系模式中,存在着属性的参照:
成绩表的学号和课程号是外键,其参照的主键是学生表的 “学号”和课程表的 “课程号”,根据参照完整性规则,要求成绩表的“学号”必须在学生表中已经存在,“课程号”必须在课程表中已经存在;另外,从表中外键的取值也可以为空值。
16
数据库逻辑模型设计
16
知识储备
3.关系的完整性规则
(三)域完整性
域完整性也称为用户自定义完整性,是用于对属性值内容的规定。域完整性要求该属性只能取符合条件要求的取值,从而保证数据库数据的合理性。
如成绩属性,用户可根据实际需要,规定其取值范围是0~100分,不在此范围的取值被认为是不合法的数据;同样,性别属性,规定其取值只能是男或女。
互动2:设置成绩的取值范围在0-100之间,属于什么完整性规则?成绩表中的学号取值必须要在学生表中有这个学号存在,属于什么完整性规则?
17
数据库逻辑模型设计
17
知识储备
4.E-R图转化为关系模型
在概念模型的设计中得到的E-R图是由实体、属性和联系三部分组成的,而关系模型设计的结果是一组关系模式的集合,所以要将E-R图转化为关系模型,实际上就是将实体、属性和联系转换成为关系模式。转换遵循的原则如下。
原则一:每个实体转换成为一个关系
其中实体的属性就是关系的属性,属性在二维表中用列名来表示,实体的主键就是关系的主键。
18
数据库逻辑模型设计
18
知识储备
4.E-R图转化为关系模型
原则二:每个联系转换成为一个关系
关系的属性由与该联系相连的实体的主键和该联系自身的属性组成。关系的主键的确定方法:
(1)对于1 : 1的联系,每个实体的主键均是关系的候选键;
(2)对于1 : n的联系,关系的主键是n端实体的主键;
(3)对于m : n的联系,关系的主键是两端实体主键的组合。
原则三:有相同主键的关系可以合并为一个关系
对于1:1的联系构成的关系,可以和与该联系相连的任一个实体合并成一个关系,对于1:n的联系构成的关系,可以和n端实体合并成一个关系。
19
数据库逻辑模型设计
19
20
知识储备
4.E-R图转化为关系模型
互动3:指出图中各联系的主键及属性。
数据库逻辑模型设计
任务实施
【任务1】将“学生选修课程E-R图”转变成关系模式
分析:根据E-R图转化为关系模型的原则,在图1-6所示的 E-R图中,有两个实体和一个联系,在转换为关系模型时,可以转换为三个关系模式:学生表、课程表和成绩表。
1)学生表(学号、姓名、性别、出生日期、专业名、所在学院、联系电话、总学分)主键:学号;
2)课程表(课程号、课程名、授课教师、开课学期、学时、学分)主键:课程号;
3)成绩表(学号、课程号、成绩、学分)主键:学号+课程号;外键:学号、课程号。
21
数据库逻辑模型设计
21
任务实施
【任务2】将课程表的关系模式转化为关系
分析:当关系模式已有具体数据时,就可以转化为关系。
课程表关系如下表所示。
22
数据库逻辑模型设计
课程号 课程名 授课教师 开课学期 学时 学分
101 计算机文化基础 李平 1 32 2
102 计算机硬件基础 童华 1 80 5
103 程序设计基础 王印 2 64 4
22
复习:
1.关系模型的基本概念
2.关系的性质
3. 关系的完整性规则
4.E-R图转化为关系模型
23
数据库逻辑模型设计
23
作业:
1. 讨论主键与外键的区别;
2. 讨论如何识别主表与从表;
3.实体完整性规则的要求是什么?
4.如何理解参照完整性规则在对表数据的约束?
24
数据库逻辑模型设计
24
THANK YOU!
$$