完整版数据库原理与技术课程习题答案.docx
《完整版数据库原理与技术课程习题答案.docx》由会员分享,可在线阅读,更多相关《完整版数据库原理与技术课程习题答案.docx(24页珍藏版)》请在冰豆网上搜索。
完整版数据库原理与技术课程习题答案
数据库原理与技术课程习题答案
第1章
一、选择题
1.下列关于用文件管理数据的说法,错误的是D
A.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序
C.用文件存储数据的方式难以实现数据访问的安全控制
D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率
2.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性
B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合
C.用户访问数据时,需要知道存储数据的文件的物理信息
D.能保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢
失
3.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于A
A.系统软件B.工具软件
C.应用软件D.数据软件
4.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是B
A.数据库B.操作系统
C.应用程序D.数据库管理系统
5.下列关于数据库技术的描述,错误的是D
A.数据库中不但需要保存数据,而且还需要保存数据之间的关联关系B.数据库中的数据具有较小的数据冗余
C.数据库中数据存储结构的变化不会影响到应用程序
D.由于数据库是存储在磁盘上的,因此用户在访问数据库时需要知道其存储位置
二、简答题
1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
答:
数据是描述事物的符号记录。
描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后保存在计算机中。
数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。
数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。
数据库系统一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。
2.数据管理技术的发展主要经历了哪几个阶段?
答:
数据管理技术的发展因此也就经历了文件管理和数据库管理两个阶段。
最初对数据的管理是以文件方式进行的,也就是用户通过编写应用程序来实现对数据的存储和管理。
后来产生了数据库技术,也就是用数据库来存储和管理数据。
3.文件管理方式在管理数据方面有哪些缺陷?
答:
文件方式管理数据有如下缺点。
(1)编写应用程序不方便。
(2)数据冗余不可避免。
(3)
应用程序依赖性。
(4)不支持对文件的并发访问。
(5)数据间联系弱。
(6)难以满足不同用户对数据的需求。
(7)无安全控制功能。
4.与文件管理相比,数据库管理有哪些优点?
答:
用数据库技术管理数据具有以下特点:
(1)相互关联的数据集合。
(2)较少的数据冗余。
(3)程序与数据相互独立。
(4)保证数据的安全和可靠。
(5)最大限度地保证数据的正确性。
(6)数据可以共享并能保证数据的一致性。
5.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?
为什么?
答:
应用程序不关心数据的存储位置和存储结构。
因为当数据的存储方式发生变化时,这
些变化都将由DBMS负责维护。
应用程序并不知道也不需要知道数据存储方式或数据项已经发生了变化。
6.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?
答:
数据库系统是基于数据库的计算机应用系统,一般包括数据库、数据库管理系统(及相
应的实用工具)、应用程序和数据库管理员四个部分。
数据库是数据的汇集场所,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指访问数据库数据的程序,数据库管理员负责整个数据库系统的正常运行。
第2章
、选择题
1.数据库三级模式结构的划分,有利于A
2.在数据库的三级模式中,描述数据库中全体数据的逻辑结构和特征的是B
A.内模式B.模式C.外模式D.其他
3.下列关于数据库中逻辑独立性的说法,正确的是C
A.当内模式发生变化时,模式可以不变
B.当内模式发生变化时,应用程序可以不变
C.当模式发生变化时,应用程序可以不变
D.当模式发生变化时,内模式可以不变
4.下列模式中,用于描述单个用户数据视图的是C
A.内模式B.模式
C.外模式D.存储模式
5.数据库中的数据模型三要素是指B
A.数据结构、数据对象和数据共享B.数据结构、数据操作和数据完整性约束C.数据结构、数据操作和数据的安全控制D.数据结构、数据操作和数据的可靠性
6.下列关于E-R模型中联系的说法,错误的是A
A.一个联系最多只能关联2个实体B.联系可以是一对一的C.一个联系可以关联2个或2个以上的实体D.联系的种类是由客观世界业务决定的
7.数据库中的三级模式以及模式间的映像提供了数据的独立性。
下列关于两级映像的说
法,正确的是A
A.外模式到模式的映像是由应用程序实现的,模式到内模式的映像是由DBMS实现的
B.外模式到模式的映像是由DBMS实现的,模式到内模式的映像是由应用程序实现的C.外模式到模式的映像以及模式到内模式的映像都是由DBMS实现的
D.外模式到模式的映像以及模式到内模式的映像都是由应用程序实现的
8.下列关于概念层数据模型的说法,错误的是C
A.概念层数据模型应该采用易于用户理解的表达方式B.概念层数据模型应该比较易于转换成组织层数据模型C.在进行概念层数据模型设计时,需要考虑具体的DBMS的特点
D.在进行概念层数据模型设计时,重点考虑的内容是用户的业务逻辑
二、简答题1.解释数据模型的概念,为什么要将数据模型分成概念层数据模型和组织层数据模型?
答:
数据模型(datamodel)是对现实世界数据特征的抽象。
数据模型满足三个方面的要求:
(1)能够真实地模拟现实世界。
(2)容易被人们理解。
(3)能够方便地在计算机上实现。
用一种模型来同时很好地满足这三方面的要求在目前是比较困难的,因此在数据库领域中是针对不同的使用对象和应用目的,采用不同的数据模型来实现。
根据模型应用的不同目的,可以将模型分为两大类,它们分别属于两个不同的层次。
第一类是概念层数据模型,也称为概念模型或信息模型,它从数据的应用语义视角来抽取现实世界中有价值的数据并按用户的观点来对数据进行建模。
另一类是组织层数据模型,也称为组织模型,它从数据的组织方式来描述数据。
2.组织层数据模型都有哪些?
目前最常用的是哪个?
答:
数据库发展到现在主要采用了如下几种组织方式(组织模型):
层次模型(用树型结构
组织数据)、网状模型(用图型结构组织数据)、关系模型(用简单二维表结构组织数据)以及对象-关系模型(用复杂的表格以及其他结构组织数据)。
目前最常用的是关系模型。
3.实体之间的联系有几种?
请为每一种联系举出一个例子。
答:
两个实体之间的联系通常有如下三类:
(1)一对一联系(1:
1)。
如部门和经理(假设一个部门只允许有一个经理,一个人只允许担任一个部门的经理)。
(2)一对多联系(1:
n)。
比如,假设一个系有多名教师,而一个教师只允许在一个系工作,则系和教师之间也是一对多联系。
(3)多对多联系(m:
n)。
比如学生和课程,一个学生可以选修多门课程,一门课程也可以被多个学生选修,因此学生和课程之间是多对多的联系。
4.说明实体-联系模型中的实体、属性和联系的概念。
答:
在实体-联系模型中主要涉及三方面内容:
实体、属性和联系。
(1)实体。
实体是具有公共性质、并可相互区分的现实世界对象的集合,或者说是具有相同结构的对象的集合。
(2)属性。
每个实体都具有一定的特征或性质,这样我们才能根据实体的特征来区分一个个实例。
(3)联系。
在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界反映为实体内部的联系和实体之间的联系。
5.指明下列实体间联系的种类:
(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。
(2)商店和顾客。
(3)国家和首都(假设国家的首都不会变化,一个国家只有一个首都)
(4)飞机和乘客。
答:
(1)教研室和教师是一对多,
(2)商店和顾客是多对多,(3)国家和首都是一对一,(4)飞机和乘客是多对多.
6.数据库包含哪三级模式?
试分别说明每一级模式的作用?
答:
数据库的三级模式结构是指数据库的外模式、模式和内模式.
内模式:
是最接近物理存储的,也就是数据的物理存储方式,包括数据存储位置、数据存储方式等。
外模式:
是最接近用户的,也就是用户所看到的数据视图。
模式:
是介于内模式和外模式之间的中间层,是数据的逻辑组织方式。
7.数据库管理系统提供的两级映像的作用是什么?
它带来了哪些功能?
答:
数据库管理系统在三个模式之间提供了以下两级映像:
外模式/模式映像,模式/内模式映
像。
正是这两级映像功能保证了数据库中的数据能够具有较高的逻辑独立性和物理独立性,使数据库应用程序不随数据库数据的逻辑或存储结构的变动而变动。
第3章
一、选择题
1.下列关于关系中主属性的描述,错误的是D
A.主键所包含的属性一定是主属性
B.外键所引用的属性一定是主属性
C.候选键所包含的属性都是主属性
D.任何一个主属性都可以唯一地标识表中的一行数据
2.设有关系模式:
销售(顾客号,商品号,销售时间,销售数量),若一个顾客可在不同时间对同一产品购买多次,同一个顾客在同一时间可购买多种商品,则此关系模式的主键是D
A.顾客号
B.
产品号
C.(顾客号,商品号)
D.(顾客号,商品号,销售时间)
3.
关系数据库用二维表来组织数据。
下列关于关系表中记录的说法,正确的是
B
A.顺序很重要,不能交换
B.
顺序不重要
C.按输入数据的顺序排列
D.
一定是有序的
4.
下列不属于数据完整性约束的是D
A.实体完整性
B.
参照完整性
C.域完整性
D.
数据操作完整性
5.
下列关于关系操作的说法,正确的是
D
A.关系操作是基于集合的操作
B.在进行关系操作时,用户需要知道数据的存储位置C.在进行关系操作时,用户需要知道数据的存储结构D.用户可以在关系上直接进行行定位操作
6.下列关于关系的说法,错误的是DA.关系中的每个属性都是不可再分的基本属性B.关系中不允许出现值完全相同的元组C.关系中不需要考虑元组的先后顺序D.关系中属性顺序的不同,关系所表达的语义也不同
7.下列关于关系代数中选择运算的说法,正确的是AA.选择运算是从行的方向选择集合中的数据,选择运算后的行数有可能减少B.选择运算是从行的方向选择集合中的数据,选择运算后的行数不变C.选择运算是从列的方向选择集合中的若干列,选择运算后的列数有可能减少D.选择运算是从列的方向选择集合中的若干列,选择运算后的列数不变
8.下列用于表达关系代数中投影运算的运算符是BA.σB.∏C.D.+
9.下列关于关系代数中差运算结果的说法,正确的是DA.差运算的结果包含了两个关系中的全部元组,因此有可能有重复的元组B.差运算的结果包含了两个关系中的全部元组,但不会有重复的元组C.差运算的结果只包含两个关系中相同的元组D.“A-B”差运算的结果由属于A但不属于B的元组组成
10.设有如下三个关系,学生(学号,姓名,性别),课程(课程号,课程名,学分)和选课(学号,课程号,成绩)。
现要查询赵飞选的课程的课程名和学分,下列关系代数表达
式正确的是B
A.∏课程名,学分(B.∏课程名,学分(C.∏课程名,学分(D.∏课程名,学分(
σ姓名=‘赵飞'(学生)∞课程∞选课)σ姓名=‘赵飞'(学生)∞选课∞课程)σ姓名=‘赵飞'(学生∞课程∞选课))σ姓名=‘赵飞'(课程∞学生∞选课))二、简答题
1.试述关系模型的三个组成部分。
答:
关系模型的三个组成部分是由关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素。
2.解释下列术语的含义:
(1)主键:
也称为主码或主关键字,是表中的属性或属性组,用于唯一地确定一个元组。
(2)候选键:
如果一个属性或属性集的值能够唯一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。
(3)关系:
关系就是二维表,二维表的名字就是关系的名字
(4)关系模式:
是指二维表的结构,或者关系模式就是二维表的表框架或表头结构。
(5)关系数据库:
对应于一个关系模型的所有关系的集合称为关系数据库。
3.关系数据库的三个完整性约束是什么?
各是什么含义?
答:
关系数据库的数据完整性约束主要包括三大类:
实体完整性、参照完整性和用户定义的完整性。
实体完整性是保证关系中的每个元组都是可识别的和唯一的。
是指关系数据库中所有的表都必须有主键,而且表中不允许存在如下记录。
参照完整性也称为引用完整性。
现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用。
用户定义的完整性也称为域完整性或语义完整性。
用户定义的完整性就是针对某一具体应用领域定义的数据约束条件。
它反映某一具体应用所涉及的数据必须满足应用语义的要求。
4.利用表3-11至3-13所给的三个关系,写出实现如下查询的关系代数表达式。
(1)查询“信息管理系”学生的选课情况,列出学号、姓名、课程号和成绩。
∏Sno,Sname,Cno,Grade(σSdept=‘信息管理系'(Student)SCCourse)
(2)查询“VB”课程的考试情况,列出学生姓名、所在系和考试成绩。
∏Sname,Sdept,Grade(σCname=‘VB'(Course)SCStudent)
(3)查询考试成绩高于90分的学生的姓名、课程名和成绩。
∏Sname,Cno,Grade(σGrade>90(SC)Student)
(4)查询至少选修了0821103学生所选的全部课程的学生姓名和所在系。
∏Sname,Sdept(Student(∏SNO,CN(OSC)÷∏cno(σSno=‘0821103'(SC))))
(5)查询至少选了“C001”和“C002”两门课程的学生姓名、所在系和所选的课程号∏Sname,Sdept,Cno(∏Sno(σCno=‘C001'(SC))StudentSC)∩
∏Sname,Sdept,Cno(∏Sno(σCno=‘C002'(SC))StudentSC)
第4章
一、选择题
1.下列关于SQL语言特点的叙述,错误的是B
A.使用SQL语言访问数据库,用户只需提出做什么,而无需描述如何实现
B.SQL语言比较复杂,因此在使用上比较难
C.SQL语言可以在数据库管理系统提供的应用程序中执行,也可以在命令行方式下执行
D.使用SQL语言可以完成任何数据库操作
2.下列所述功能中,不属于SQL语言功能的是D
A.数据库和表的定义功能B.数据查询功能
C.数据增、删、改功能D.提供方便的用户操作界面功能
3.设某职工表中有用于存放年龄(整数)的列,下列类型中最合适年龄列的是C
A.intB.smallint
C.tinyintD.bit
4.设某列的类型是char(10),存放“数据库”,占用空间的字节数是A
A.10B.20
C.3D.6
5.设某列的类型是nchar(10),存放“数据库”,占用空间的字节数是B
A.10B.20
C.3D.6
6.设某列的类型是varchar(10),存放“数据库”,占用空间的字节数是D
A.10B.20
C.3D.6
7.设某列的类型是nvarchar(10),存放“abc”,占用空间的字节数是D
A.10B.20
C.3D.6
8.下列约束中用于限制列的取值范围的约束是B
A.PRIMARYKEYB.CHECK
C.DEFAULTD.UNIQUE
9.下列约束中用于限制列取值不重的约束是D
A.PRIMARYKEYB.CHECK
C.DEFAULTD.UNIQUE
10.下列关于DEFAULT约束的说法,正确的是C
A.一个DEFAULT约束可用于一个表的多个列上
B.DEFAULT约束只能作为表级完整性约束
C.DEFAULT约束只能作为列级完整性约束
D.DEFAULT约束既可作为表级完整性约束也可作为列级完整性约束
二、简答题
1.SQL语言的特点是什么?
具有哪些功能?
答:
主要特点有:
(1)一体化,
(2)高度非过程化,(3)简洁,(4)可以多种方式使用。
SQL语言按其功能可分为4大部分:
数据定义、数据查询、数据更改和数据控制。
2.tinyint类型定义的数据的取值范围是多少?
答:
tinyint类型定义的数据的取值范围是从0到255之间的整数
3.SmallDatatime类型精确到哪个时间单位?
答:
SmallDatatime类型的默认格式为:
YYYY-MM-DDhh:
mm:
00。
精确到分钟。
4.定点小数类型numeric(p,q)中的p和q的含义分别是什么?
答:
p为精度,指定可以存储的十进制数字的最大个数。
q为小数位数,指定小数点右边可
以存储的十进制数字的最大个数。
5.char(n)和nchar(n)中n的取值范围分别是多少?
答:
char(n)中的n表示字符串的最大长度,取值范围为1~8000。
nchar(n)中的n表示字符串的最大长度,取值范围为1~4000。
6.架构的作用是什么?
答:
架构(schema,也称为模式)是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象,它是一个数据库对象的容器。
7.写出定义如下架构的SQL语句。
(1)定义一个名为“BOO”K的架构。
CREATESCHEMABOOK
(2)为用户“Teacher”定义一个架构,架构名同用户名。
CREATESCHEMAAUTHORIZATIONTeacher
第5章
R中的元组不满足连接条件,在连接结果中也会
B.右外连接
D.自连接
需要对Grade列的空值进行处理。
下列关于空
B.GradeISNULL
D.NOT(GradeISNULL)
DB.MAX(列名)D.COUNT(*)
一、选择题
1.当关系R和S进行连接操作时,如果将这些记录保留下来的操作是AA.左外连接C.内连接
2.设在某SELECT语句的WHERE子句中,值的操作,错误的是CA.GradeISNOTNULLC.Grade=NULL
3.下列聚合函数中,不忽略空值的是A.SUM(列名)C.AVG(列名)
4.SELECT⋯INTO⋯FROM语句的功能是A.将查询结果插入到一个新表中B.将查询结果插入到一个已建好的表中C.合并查询的结果
D.向已存在的表中添加数据
5.下列查询查询语句中,错误的是B
A.SELECTSno,COUNT(*)FROMSCGROUPBYSno
B.SELECTSnoFROMSCGROUPBYSnoWHERECOUNT(*)>3
C.SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT(*)>3D.SELECTSnoFROMSCGROUPBYSno
6.现要利用Student表查询年龄最小的学生姓名和年龄。
下列实现此功能的查询语句中,正确的是D
A.SELECTSname,MIN(Sage)FROMStudent
B.SELECTSname,SageFROMStudentWHERESage=MIN(Sage)
C.SELECTTOP1Sname,SageFROMStudent
D.SELECTTOP1Sname,SageFROMStudentORDERBYSage
7.设SC表中记录成绩的列为:
Grade,类型为int。
若在查询成绩时,希望将成绩按‘优'、‘良'、‘中'、‘及格'和‘不及格'形式显示,正确的Case表达式是C
A.CaseGrade
When90~100
THEN'
优'
When80~89
THEN'
良'
When70~79
THEN'
中'
When60~69
THEN'
及格'
Else'不及格'
End
B.Case
WhenGradebetween90and100THENGrade='优'
WhenGradebetween80and89THENGrade='良'
WhenGradebetween70and79THENGrade='中'
WhenGradebetween60and69THENGrade='及格'
ElseGrade='不及格'
End
C.Case
WhenGrade
between90and100THEN'
优'
WhenGrade
between80and89THEN'
良'
WhenGrade
between70and79THEN'
中'
WhenGrade
between60and69THEN'
及格'
Else'不及格'
End
D.CaseGrade
When90~100THENGrade='优'
When80~89THENGrade='良'
When70~79THENGrade='中'
When60~69THENGrade='及格'
ElseGrade='不及格'
End
8.下列SQL语句中,用于更改表数据的语句是C
A.ALTERB.SELECT
C.UPDATED.INSERT
9.设有Teachers表,该表的定义如下:
CREATETABLETeachers(
TnoCHAR(8)PRIMAR