第18章 数据库设计基础讲稿.docx
《第18章 数据库设计基础讲稿.docx》由会员分享,可在线阅读,更多相关《第18章 数据库设计基础讲稿.docx(24页珍藏版)》请在冰豆网上搜索。
第18章数据库设计基础讲稿
第十八章数据库设计基础
本章重要知识点
1.数据库系统概述:
(1)数据和数据库
(2)数据库管理系统
(3)数据库发展历史
2.数据模型。
3.关系数据库:
(1)关系数据库术语
(2)关系的特点
(3)关系模型
(4)关系运算
4.数据库系统的体系结构
5.数据库设计步骤
知识点详解与经典例题解析
18.1数据库系统概述
知识点1数据和数据库
数据库是计算机软件的一个重要分支,从本质上讲数据库是数据的集中存储。
(1)数据(Data)
描述事物的符号记录称为数据。
(2)数据库(DataBase,简称DB)
数据库是存放数据的仓库,它是储存在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
知识点2数据库系统
数据库系统是对数据进行存储、管理、处理和维护的计算机软件系统。
数据库系统由数据库、数据库管理系统、数据库管理员、计算机硬件系统等几部分组成。
知识点3数据库管理系统
数据库管理系统是一种在操作系统支持下的系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
数据库管理系统是数据库系统的核心。
数据库管理系统功能:
(1)数据模式定义:
即为数据库构建其数据框架;
(2)资料存取的物理构建:
为数据模式的物理存取与构建提供有效的存取方法与手段;
(3)资料操纵:
为用户使用数据库的数据提供方便,如查询、插入、修改、删除等以及简单的算术运算及统计;
(4)数据的完整性、安全性定义与检查;
(5)数据库的并发控制与故障恢复;
(6)数据的服务:
如拷贝、转存、重组、性能监测、分析等。
为完成以上六个功能,数据库管理系统提供以下的数据语言:
(1)数据定义语言:
负责数据的模式定义与数据的物理存取构建;
(2)数据操纵语言:
负责数据的操纵,如查询与增、删、改等;
(3)数据控制语言:
负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。
知识点4数据库发展历史
数据库系统发展的三个阶段包括:
(1)文件系统阶段:
提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享的能力。
(2)层次数据库与网状数据库系统阶段:
为统一与共享数据提供了有力支撑。
(3)关系数据库系统阶段
【经典题解】
1.数据库管理系统中负责数据模式定义的语言是_________。
A)数据定义语言
B)数据管理语言
C)数据操纵语言
D)数据控制语言
【答案】A
【解析】此题主要考查知识点3中数据库管理系统提供的数据语言。
数据定义语言:
负责数据的模式定义与数据的物理存取构建,所以本题答案为A。
2.数据库管理系统是_________。
A)操作系统的一部分
B)在操作系统支持下的系统软件
C)一种编译系统
D)一种操作系统
【答案】B
【解析】此题主要考查知识点3中数据库管理系统的定义。
数据库管理系统是一种系统软件,在操作系统支持下的系统软件。
3.数据库系统的核心是_________。
【答案】数据库管理系统
【解析】此题主要考查知识点3中数据库管理系统的定义。
数据库管理系统是数据库系统的核心。
18.2数据模型
数据模型是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态特征和约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。
数据模型所描述的内容有三个部分:
数据结构、数据操作与数据约束。
知识点5数据模型分类
根据数据之间的联系方式,数据模型分为:
层次模型、网状模型和关系模型。
【经典题解】
1.层次型、网状型和关系型数据库划分原则是_________。
A)记录长度
B)文件的大小
C)联系的复杂程度
D)数据之间的联系方式
【答案】D
【解析】此题主要考查关系模型分类。
数据库划分原则是数据之间的联系方式,所以本题答案为D。
18.3关系数据库
知识点6关系数据库术语
(1)元组。
一个关系对应一张二维表,二维表格中的一行称为一个元组或一条记录。
(2)属性。
二维表格中一列的字段名称为一个属性。
(3)分量。
关系中每一个具体的元数值。
(4)域。
属性的取值范围称为域。
(5)关键词。
可唯一标识元组的属性或属性集称为关键词,又称为主码或候选键。
候选码中包含的属性称为主属性。
(6)广义笛卡儿积
设R和S是两个关系,如果R是m元关系,有k个元组,S是n元关系,有q个元组,则广义笛卡尔积R×S是一个m+n元关系,有k×q个元组,广义笛卡尔积可以记为:
图18-1示意了集合的广义笛卡儿积运算。
图18-1广义笛卡尔积运算图
知识点7关系的特点
关系可以看作是二维表,但并不是所有的二维表都是关系。
关系数据库对关系是有一些限定的,归纳起来关系具有以下特点:
(1)关系中不允许出现相同的元组。
(2)关系中元组的顺序可任意。
(3)关系中属性的顺序可任意。
(4)同一属性名下的各个属性值必须来自同一个域,必须是同一类型的数据。
(5)关系中各个属性名不能重名。
(6)关系必须规范化,即关系中每一分量必须是不可分的数据项,而不是值的集合。
例如表18-1将其规范化,如表18-2所示。
表18-1非规范化关系
姓名
籍贯
省
市/县
张华
吉林
长春
陈明
湖北
武汉
表18-2规范化关系
姓名
省
市/县
张华
吉林
长春
陈明
湖北
武汉
知识点8关系模型
与层次模型、网状模型比较,关系数据模型是一种最重要的数据模型。
关系数据模型包括三个部分:
数据结构、关系操作和关系模型的完整性。
关系的描述称为关系模式,它包括关系名、组成该关系的属性名及属性与域之间的映像,例如:
学生情况(学号,姓名,性别,系别,班级)
常用的关系操作有两类:
关系代数和关系演算。
关系模型的完整性包括:
(1)实体完整性
实体完整性是指关键词(或主键)的值不能为空或部分为空。
如果主键值为空或部分为空,不能唯一标识元组及其相对应的实体。
例如,学生情况关系中的属性“学号”可以唯一标识一个元组,即唯一标识一个学生实体。
因此,主键“学号”不能为空;教师任课情况表中的主键“姓名+任课名称”不能为空,也不能部分为空。
(2)参照完整性
如果关系R2的外键X与关系R1的主键相符,则X中的每个值或者等于R1中主键的某一个值,或者取空值。
表18-3系别表
系别
地址
计算机系
1号楼
管理系
2号楼
电子商务系
3号楼
英语系
4号楼
例如,学生情况表中的“系别”在自己表中不是逐主键但在表18-3系别表中是主键,所以“系别”为学生情况表的外键,按照实体完整性规则,学生情况表中某个学生的“系别”取值,必须存在于被参照关系(即系别表)中或者为空。
(3)用户定义完整性
实体完整性和参照完整性适用于任何关系数据库。
除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义完整性规则就是针对某一具体应用所涉及的数据必须满足的语义要求而提出的。
例如,将学生情况表的“性别”的取值定义为“男”或“女”。
知识点9关系运算
关系运算可以分为传统的集合操作与扩充的关系操作。
传统的集合操作包括并、差、交运算;扩充的关系操作包括投影、选择、连接和除法等运算。
(1)并(Union)
设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。
形式定义如下:
R∪S={t|t∈R∨t∈S},t是元组变数,R和S的元数相同。
(2)差(Difference)
设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。
形式定义如下:
R-S={t|t∈R∧t
S},t是元组变数,R和S的元数相同。
(3)交(Intersection)
R和S的交是由属于R又属于S的元组构成的集合,记为R∩S。
形式定义如下:
R∩S={t|t∈R∧t∈S},t是元组变数,R和S的元数相同。
(4)投影(Projection)
投影运算是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。
形式定义如下:
∏
(R)={t[A]|t∈R}
∏为投影运算符,A是关系R的属性列。
例如,∏
(R)表示关系R中取第1列、第3列,组成新的关系。
(5)选择(Selection)
选择运算是根据某些条件对关系做水平分割,即取符合条件的元组,形式定义如下:
(R)={t|t∈R∧F(t)=true}
为选择运算符,
(R)表示从R中挑选出满足公式F为真的元组所够成的关系。
如有两个关系R和S,图18-2(c)、图18-2(d)和18-2(e)分别表示R∪S、R-S和R∩S,图18-2(f)表示∏
(R),即∏
(R)图18-2(g)表示
(R)
a(关系R)b(关系S)(c)R∪S
(d)R-S(e)R∩S(f)∏
(R)(g)
(R)
图18-2并、交、差、投影和选择运算
(6)连接(Join)
连接运算是二目运算,是从两个关系的笛卡尔积中选取满足连接条件的元组,组成新的关系。
①
连接
设有两个关系R和S,连接属性集X
R,Y
S,且X与Y中属性列数目相等,关系R和S在连接属性X和Y上的连接,就是在R
S笛卡尔积中,选取在连接属性X、Y属性列上满足
比较条件的子集组成新的关系。
连接形式定义如下:
R∞S={tr⌒ts|tr∈R∧ts∈S∧tr[X]
ts[Y]为真}
X
Y
其中,∞是连接运算符,
为算数比较运算符,也称
连接,其中:
为“=”时,称为等值连接;
为“<”时,称为小于连接;
为“>”时,称为大于连接。
②自然连接(NationalJoin)
自然连接就是在等值连接的情况下,当连接属性X与Y具有相同属性组时,把连接结果中重复的属性列去掉。
如果R与S具有相同的属性组Y,则自然连接可记为:
R*S={tr⌒ts|tr∈R∧ts∈S∧tr[Y]=ts[Y]}
如有两个关系R和S,图18-3(c)是R∞S的值,图18-3(d)是R*S的值。
B
B
D
2
6
5
9
A
R.B
C
S.B
D
1
2
3
5
9
A
B
C
1
2
3
4
5
6
7
8
9
A
B
C
D
1
2
3
6
4
5
6
9
(a)关系R(b)关系S(c)R∞S?
?
?
(d)R*S
BR∞S
B<.B
图18-3小于连接与自然连接示意图
【经典题解】
1.在学生管理的关系数据库中,存取一个学生信息的数据单位是_________。
A)文件
B)数据库
C)字段
D)记录
【答案】D
【解析】此题主要考查知识点6中的记录或元组内容。
在关系数据表中,行称为元组,对应存储文件中的记录;列称为属性,对应存储文件中的字段。
所以本题答案为D。
2.人员基本信息一般包括:
身份证号,姓名,性别,年龄等。
其中可以作为主关键词的是_________。
【答案】身份证号
【解析】此题主要考查知识点6中的关键词。
身份证号可以标识人员基本信息的唯一性,即一个身份证号对应唯一一个人员基本信息内容。
3.有一个学生选课的关系,其中学生的关系模式为:
学生(学号,姓名,班级,年龄),课程的关系模式为:
课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:
选课(学号,_________,成绩)。
【答案】课号
【解析】此题主要考查知识点8中的关系模式。
选课关系是学生和课程之间的关系,应该由学号、课号和成绩组成。
4.有三个关系R、S和T如下:
R
A
B
C
a
1
2
b
2
1
c
3
1
S
A
D
c
4
T
A
B
C
D
c
3
1
4
则由关系R和S得到关系T的操作是_________。
A)自然连接B)交C)投影D)并
【答案】A
【解析】此题主要考查知识点9中的自然连接。
自然连接是一种最常用的连接,它满足下面的条件
(1)两个关系有共同的域;
(2)通过公共域的相等值进行连接,故本题答案为A。
5.有两个关系R和T如下:
RS
A
B
C
a
1
2
b
2
2
c
3
2
d
3
2
A
B
C
c
3
3
d
2
2
则由关系R得到关系T的操作是则由关系R得到关系T的操作是_________。
A)选择 B)投影 C)交D)并
【答案】A
【解析】此题主要考查知识点9中的选择运算。
关系T中的两行和关系R中的最后两行一致,通过选择运算即可由R得到T,故本题的答案为A。
A
B
C
a
1
2
b
2
1
c
3
1
d
3
2
6.有三个关系R,S和T如下:
RST
A
B
C
a
1
2
b
2
1
c
3
1
A
B
C
d
3
2
其中关系T由关系R和S通过某种操作得到,该操作为_________。
A)选择B)投影 C)交 D)并
【答案】D
【解析】此题主要考查知识点9中的并运算。
R和S的并是由属于R或属于S的元组构成的集合,故本题的答案为D。
7.有两个关系R,S,如下:
RS
A
B
C
a
3
2
b
0
1
c
2
1
A
B
a
3
b
0
c
2
由关系R通过运算得到关系S,则所使用的运算为_________。
A)选择B)投影C)插入D)连接
【答案】B
【解析】此题主要考查知识点9中的投影运算。
投影运算是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序,故本题的答案为B。
18.4数据库系统的体系结构
知识点10三级模式与两级映像
数据库系统的基本特点:
数据的集成性、资料的高共享性与低冗余性、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制。
数据库系统的体系结构分成三级,即外部模式(用户层)、概念模式(全局逻辑层)和内模式。
数据库的体系结构图如下图18-5所示。
数据库系统的三级模式:
(1)模式:
数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;
(2)外模式:
也称子模式与用户模式。
是用户的数据视图,也就是用户所见到的数据模式;
(3)内模式:
又称物理模式,它给出了数据库物理存储结构与物理存取方法。
数据库系统的两级映射:
(4)外模式/模式映像
模式描述的是数据全局逻辑结构,外模式描述的是数据局部逻辑结构。
对于同一个模式可以有任意多个外模式。
对于每—个外模式,数据库系统都有一个外模式/模式映像。
如果数据库的整体逻辑结构(即模式)改变,可以通过修改外模式/模式映像,使得外模式保持不变,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(5)模式/内模式映像
数据库中只有—个模式,也只有一个内模式,所以模式/内模式映像是唯一的。
当数据库的存储结构发生改变时即内模式改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。
这就保证了数据与程序的物理独立性,简称数据的物理独立性。
【经典题解】
1.数据库设计中反映用户对数据要求的模式是_________。
A)内模式B)概念模式C)外模式D)设计模式
【答案】C
【解析】此题主要考查知识点9中的三级模式。
模式的三个级别分别反映了模式的三个不同环境。
其中内模式处于最低层,它反映了数据在计算机物理结构中的实际存储形式;概念模式或模式处于中层,它反映了设计者的数据全局逻辑要求;而外模式处于最高层,反映了用户对数据的要求,故答案选C。
18.5数据库设计步骤
知识点10数据库设计各阶段分析
数据库应用系统中的核心问题是数据库设计。
数据库设计目前一般采用生命周期法,将数据库的设计步骤分为需求分析、概念结构设计、逻辑结构设计和数据库物理设计四个阶段,如图18-6所示。
(1)需求分析
需求分析是指收集和分析用户对系统的信息需求和处理需求,得到设计系统所必需的需求信息,建立系统说明文文件。
需求说明书是需求分析阶段的成果,也是今后设计的依据。
(2)概念结构设计
概念结构设计是数据库设计的第二阶段,其目标是对需求说明书提供的所有资料和处理要求进行抽象与综合处理,按一定的方法构造反映用户环境的数据及其相互联系的概念模型。
概念模型的表示方法很多,其中最著名、最实用的方法是P.P.S.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach),简称E-R方法。
E-R图采用的图形具有如下含义:
矩形表示实体,实体是现实世界中存在并可相互区别的事物,实体可以是人、事、物,也可以是抽象的概念或联系;菱形表示实体间的联系;椭圆表示实体的组成属性。
实体间的联系可以分为一对一联系、一对多联系和多对多联系。
如下图18-7中,系主任与系之间是一对一联系;系与学生实体之间存在一对多联系,即一个系里可以有多个学生,而一个学生只能属于一个系;学生实体与课程实体间是多对多的联系,一门课程可以被多个学生选修,一个学生也可以选修多门课程。
(3)逻辑结构设计
逻辑结构设计阶段的设计目标是把上一阶段得到的与DBMS无关的概念数据模型(E-R图)转换成等价的,并为某个特定的DBMS所接受的逻辑模型即关系模型。
将E-R图转换为关系模式时,实体和联系都可以表示为关系。
该阶段的结果是用DBMS所提供的数据定义语言(DDL)写成的数据模式。
(4)数据库物理设计
物理设计阶段的任务是把逻辑设计阶段得到的满足用户需求的逻辑模型在物理上加以实现,其主要的内容是根据DBMS提供的各种手段,设计资料的存储形式和存取路径,如文件结构、索引的设计等,即设计数据库的内模式或存储模式。
【经典题解】
1.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是_________。
A)一对一B)一对多C)多对多D)多对一
【答案】C
【解析】此题主要考查实体间的联系。
实体间的联系可以分为一对一联系、一对多联系和多对多联系。
本题中,一个工作人员可以使用多台计算机,一台计算机可以被多个工作人员使用,故答案为C。
2.数据库设计的四个阶段是:
需求分析,概念设计,逻辑设计和_________。
【答案】物理设计
【解析】此题主要考查数据库的设计步骤。
数据库设计的四个阶段是:
需求分析,概念设计,逻辑设计和物理设计。
3.数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_________。
A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段
【答案】C
【解析】此题主要考查数据库设计中E-R图的产生阶段。
E-R图即实体-联系图,用来建立数据模型,它属于数据库设计的概念设计阶段,故答案为C。
4.在E-R图中,用来表示实体联系的图形是_________。
A)椭圆图 B)矩形 C)菱形 D)三角形
【答案】C
【解析】此题主要考查E-R图中各图形的含义。
E-R图采用的图形具有如下含义:
矩形表示实体;菱形表示实体间的联系;椭圆表示实体的组成属性,故答案为C。
5.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为_________。
【答案】多对多
【解析】此题主要考查实体间的联系。
一个学生可以选多门课程,一门课程可以被多个学生选,故“学生”和“可选课程”的联系为多对多。
6.数据库应用系统中的核心问题是_________。
A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训
【答案】A
【解析】此题主要考查数据库设计在数据库应用系统中的地位。
数据库应用系统中的核心问题是数据库设计,故答案为C。
7.将E-R图转换为关系模式时,实体和联系都可以表示为_________。
A)属性B)键C)关系D)域
【答案】C
【解析】此题主要考查E-R图向关系的转换。
逻辑结构设计阶段的设计目标是把E-R图转换成等价的关系模型。
将E-R图转换为关系模式时,实体和联系都可以表示为关系,故答案为C。
综合自测
一、选择题
1.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是___________。
A)一对一
B)一对多
C)多对一
D)多对多
2.在数据库设计中,将E-R图转换成关系数据模型的过程属于___________。
A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段
3.在E-R图中,用来表示实体之间联系的图形是___________。
A) 矩形 B)椭圆形 C)菱形 D)平行四边形
4.下列叙述中正确的是___________。
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统
D)以上三种说法都不对
5.在数据管理技术发展的三个阶段中,资料共享最好的是___________。
A)人工管理阶段B)文件系统阶段
C)数据库系统阶段D)以上都不对
6.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课程号,课程名),选课SC(学号,课程号,成绩),则表SC的关键词(键或码)为___________。
A)课程号,成绩B)学号,成绩C)学号,课程号D)学号,姓名,成绩
7.下列叙述中正确的是___________。
A)为了建立一个关系,首先要构造数据的逻辑关系
B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C)一个关系的属性名表称为关系模式
D)一个关系可以包括多个二维表
8.下列叙述中错误的是___________。
A)在数据库系统中,数据的物理结构必须与逻辑结构一致
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库设计是指在已有数据库管理系统的基础上建立数据库
D)数据库系统需要操作系统的支持
9.有三个关系R、S和T如下:
RST
ABBCABC
m113m13
n235
由关系R和S通过运算得到关系T,则所使用的运算为___________。
A)笛卡尔积
B)交
C)并
D)自然连接
10.有三个关系R、S和T如下:
RST
BCDBCDBCD
a0k1f3h2a0k1
b1n1a0