2022年中国石油大学(北京)数据科学与大数据技术专业《数据库系统原理》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年中国石油大学(北京)克拉玛依校区数据科学与大数据技术专业《数据库系统原理》科目期末试卷A(有答案)
一、填空题
1、数据库管理系统的主要功能有______________、______________、数据库的运行管理以及数据库的建立和维护等4个方面。
2、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。
3、在数据库系统封锁协议中,一级协议:“事务在修改数据A前必须先对其加X锁,直到事务结束才释放X锁”,该协议可以防止______;二级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁”,该协议可以防止______;三级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,直到事务结束后才释放S 锁”,该协议可以防止______。
4、若事务T对数据对象A加了S锁,则其他事务只能对数据A再加______,不能加______,直到事务T释放A上的锁。
5、数据仓库创建后,首先从______中抽取所需要的数据到数据准备区,在数据准备区中经过净化处理______,再加载到数据仓库中,最后根据用户的需求将数据发布到______。
6、如图所示的关系R的候选码为;R中的函数依赖有;R属于范式。
一个关系R
7、使某个事务永远处于等待状态,得不到执行的现象称为______。
有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为______。
8、在VB 6.0中,已经用Adobel连接到数据库,并已绑定到数据库中的某个关系表,现要通过
此控件向表中插入数据,需要用到Adobel.Recordset的_____方法和Update方法,使用Adobel.Recordset的_____方法可以使当前行指针在结果集中向前移动一行。
9、数据仓库是______、______、______、______的数据集合,支持管理的决策过程。
10、数据库系统在运行过程中,可能会发生各种故障,其故障对数据库的影响总结起来有两类:______和______。
二、判断题
11、在数据库恢复中,对已完成的事务进行撤销处理。
()
12、在数据库表中,空值表示数值0。
()
13、在SQL中,ALTERTABLE语句中MODIFY用于修改字段的类型和长度等,ADD用于添加
新的字段。
()
14、并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的。
()
15、数据库的数据项之间无联系,记录之间存在联系。
()
16、一个数据表只能有一个唯一索引。
()
17、在CREATEINDEX语句中,使CLUSTERED来建立簇索引。
()
18、外模式DDL用来描述数据库的总体逻辑结构。
()
19、在关系模式中,候选码可以有多个,主码只能有一个。
()
20、DBMS提供授权功能控制不同用户访问数据的权限,主要目的是为了实现数据库的完整性。
()
21、在关系模式中,主码和候选码可以有多个。
()
22、求事务在读取数据前先加共享锁,且直到该事务执行结束时才释放相应的锁,这种封锁协议
是二级封锁协议。
()
23、SQL语言有嵌入式和交互式两种使用方法。
()
24、数据库系统由软、硬件及各类人员构成。
()
25、关系中任何一列的属性取值是不可再分的数据项,可取自不同域中的数据。
()
三、选择题
26、关于关系的完整性约束条件,下列说法错误的是()。
A.在关系模型中,允许定义实体完整性、参照完整性和用户定义的完整性
B.用户完整性应该由关系系统自动支持
C.参照完整性可由用户或系统定义
D.用户定义的完整性是应用领域需要遵循的约束条件
27、数据库恢复的基础是利用转储的冗余数据。
这些转储的冗余数据包指()。
A.数据字典、应用程序、审计档案、数据库后援副本
B.数据字典、应用程序、日志文件、审计档案
C.日志文件、数据库后援副本
D.数据字典、应用程序、数据库后援副本
28、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。
A.关系规范化理论B.关系运算理论
C.关系代数理论D.数理逻辑
29、关于DBMS的查询处理器,叙述错误的是()。
A.处理的目标是先将应用程序表示的查询转换为执行策略(关系代数)
B.通过执行用低级语言表达的策略来获取所需要的数据
C.查询处理分为分解(分析和验证)、优化、代码生成和代码执行
D.处理的目标是先将应用程序表示的查询转换为执行策略(E-R 概念模型)
30、根据系统所提供的存取路径,选择合理的存取策略,这种优化方式称为()。
A.物理优化 B.代数优化 C.规则优化D.代价估算优化
31、SQL的运算参数和结果都是()形式。
A.关系
B.元组
C.数据项
D.属性
32、关系代数表达式的优化策略中,首先要做的是()。
A.对文件进行预处理 B.尽早执行选择运算
C.执行笛卡尔积运算D.投影运算
33、在SQL Server中,可以通过数据库对象及各种约束来保证数据的完整性,以下都属于数据库对象的有()。
A.DEFAULT、CHECK和UNIQUE
B.DEFAULT、CHECK和RULE
C.CHECK和DEFAULT
D.DEFAULT和RULE
34、数据模型的三要素是()。
A.数据定义、数据操作和数据安全性约束
B.数据结构、数据操作和数据完整性约束
C.数据定义、数据存储和数据操作约束
D.数据结构、数据存储和数据一致性约束
35、下列约束中能确保一个函数依赖是完全非平凡函数依赖的是()。
A.仅当其右边的属性集是左边属性集的子集
B.仅当其右边属性集中的属性都不属于左边的属性集
C.仅当其右边属性集中至少有一个属性不属于左边的属性集
D.仅当其右边属性集中的属性都属于左边的属性集
36、查询优化是提高数据库应用系统性能的重要手段,下列给出的查询优化方法,一般情况下无效的是()。
A.对经常需要进行排序或分组的列建立索引
B.对经常出现在查询条件中的列建立索引
C.对涉及连接的查询,尽量用左外连接或右外连接代替内连接
D.采用提前计算方法,将频繁访问的视图转为物化视图
37、如果事务T对数据D已加S锁,则其他事务对数据D()。
A.可以加S锁,不能加X锁
B.可以加S锁,也可以加X锁
C.不能加S锁,可以加X锁
D.不能加任何锁
38、关于SQL Server的数据库角色叙述正确的是()。
A.用户可以自定义固定角色
B.数据库角色是系统自带的,用户一般不可以自定义
C.每个用户只能拥有一个角色
D.角色用来简化将很多用户权限分配给很多用户这一复杂任务的管理39、数据仓库的数据具有4个基本特征,以下错误是指()。
A.面向主题的
B.集成的
C.不可更新的
D.不随时间变化的
40、以下关于OLAP的叙述中错误的是()。
A.一个多维数组可以表示为(维1,维2,…,维n)
B.维的一个取值称为该维的一个维成员
C.OLAP是联机分析处理
D.OLAP是以数据仓库进行分析决策的基础
四、简答题
41、内存数据库和磁盘数据库有什么区别?
42、试述SQL的特点。
43、试述文件系统与数据库系统的区别和联系。
44、分析传统RDBMS的哪些技术应该在非关系数据管理系统中继承和发展。
45、什么是封锁?基本的封锁类型有几种?试述它们的含义。
五、综合题
46、根据下列数据库概念结构设计的E-R图(如图所示的学生选课查询方案一E-R图和如图所示的学生选课查询方案二E-R图),完成数据库的逻辑结构设计。
学生选课查询方案一E-R图
学生选课查询方案二E-R图
47、表所示为关系SC的实例数据,其中:Sno为学号、Cno为课程号、Ctitle为课程名、Iname为教师名、Iloca为教师地址,Grade为成绩。
表6-2关系SC的实例数据
(1)该关系为第几范式?
(2)是否存在插入、删除异常?若存在,请说明是在什么情况下发生?发生的原因是什么?(3)请将它分解为高一级范式。
(4)分解后的关系能否解决操作异常问题?
48、请写出对一个文件按某个属性的排序算法(设该文件的记录是定长的),并上机实现。
若要按多个属性排序,能否写出改进的算法?
参考答案
一、填空题
1、【答案】数据库定义功能;数据库操纵功能
2、【答案】1NF
3、【答案】丢失修改;丢失修改和读脏数据;丢失修改、读脏数据和不可重复读
4、【答案】S锁;X锁
5、【答案】数据源;数据;数据集市
6、【答案】A和DE;A→DE,DE→A;BCNF
7、【答案】活锁;死锁
8、【答案】AddNew;MovePrevious
【解析】Recordset对象中的AddNew方法可以用来在结果集里添加一个新记录。
MovePrevious方法用来将当前行记录指针向前移动一行。
9、【答案】面向主题的;集成的;随时间变化的;非易失性
10、【答案】数据库本身未被破坏;数据库处于不一致状态
二、判断题
11、【答案】错
12、【答案】错
13、【答案】错
14、【答案】对
15、【答案】错
17、【答案】对
18、【答案】错
19、【答案】对
20、【答案】错
21、【答案】错
22、【答案】错
23、【答案】对
24、【答案】对
25、【答案】错
三、选择题
26、【答案】B
【解析】关系完整性有三类:实体完整性、参照完整性和用户定义的完整性。
其中实体完整性保证每一个数据(实体)是可识别的,参照完整性保证当数据与数据之间有联系时,这种联系造成的数据取值的制约;用户定义的完整性保证每一个数据的取值在应用领域内是合理的。
其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变性。
也就是说,只要是关系数据库系统就应该自动支持实体完整性和参照完整性。
27、【答案】C
【解析】数据库恢复的实现技术主要是建立冗余并利用冗余数据实施数据库恢复。
建立冗余最常见的技术是数据转储和登录日志文件。
28、【答案】A
【解析】关系数据理论,即关系规范化理论是进行数据库逻辑结构设计的有力工具,通过它,可以判断数据库的逻辑结构设计是否优良,并可以对一个不好的逻辑设计进行改造以使它变得好起来。
【解析】DBMS的查询处理器处理的目标是将应用程序表示的查询转换为正确有效的、用低级语言表达的执行策略(关系代数),并通过执行该策略来获取所需要的数据。
查询处理通常分为分解(分析和验证)、优化、代码生成和代码执行四个阶段。
30、【答案】A
【解析】物理优化是根据数据字典中的存取路径、数据的存储分布以及聚簇情况等信息来选择低层的存取路径。
31、【答案】A
【解析】结构化查询语言是一种非过程化、面向集合的数据库语言。
面向集合的特点是指SQL的运算参数和结果都是集合形式-表或关系。
32、【答案】B
33、【答案】D
【解析】SQL Server的约束包括UNIQUE、DEFAULT、RULE、
PRIMARY KEY和FOREIGN KEY等,但属于数据库对象的是RULE、
DEFAULT,当它们创建后可以绑定到一列或者几列上,并可以重复使用。
34、【答案】B
【解析】数据模型是数据库系统的数学形式框架,是用来描述数据的一组概念和定义。
数据模型包含以下三要素:
①数据结构:由一组创建数据库的规则组成。
数据结构用于描述系统的静态特性,它是所研究对象类型的集合,也是刻画一个数据模型性质最重要的方面。
②数据操作:定义允许对数据库进行操作的种类(包括更新和检索数据库中的数据以及修改数据库结构)。
③数据完整性约束条件:一组完整性规则,确保数据的准确性。
35、【答案】B
【解析】函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。
仅当其右边属性集中的属性都不属于左边的属性集时可以确保一个函数依赖是完全非平凡函数依赖。
36、【答案】C
【解析】左连接或右连接包含与NULL数据匹配的数据,非常消耗资源。
多使用内连接可以减少资源消耗有助于优化查询。
37、【答案】A
【解析】S锁为共享锁,事务T对数据D加S锁后其他事务可以加S 锁,但不能加X锁。
38、【答案】D
【解析】服务器级的角色建立在SQL服务器上,是系统预定义的,用户不能创建服务器角色,只能选择合适的服务器角色,但能定义数据库角色;一个数据库用户可以出现在多种角色中;角色是多权限分配给多用户这一复杂任务的管理方式。
39、【答案】D
【解析】数据仓库是随时间而变化的,传统的关系数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求。
稳定的数据以只读格式保存,且不随时间改变。
40、【答案】A
【解析】一个多维数组可以表示为:(维1、维
四、简答题
41、答:内存数据库与磁盘数据库的区别如图15-1所示。
内存数据库和磁盘数据库对比示意图
42、答:SQL有以下五个特点:
综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。
在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符
的统一性,查找、插入、删除、更新等每一种操作都只需一种操作符,从而克服了非关系系统由
于信息表示方式的多样性带来的操作复杂性。
高度非过程化:用SQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此
无需了解存取路径、存取路径的选择以及SQL语句的操作过程。
这有利于提高数据独立性。
面向集合的操作方式:SQL语言采用集合操作方式,不仅操作对象和查找结果可以是元组的集合,而且插入、删除、更新操作的对象也可以是元组的集合。
以同一种语法结构提供两种使用方式:SQL语言既是自含式语言,又是嵌入式语言。
作为自含式
语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
语言简捷,易学易用。
43、答:(1)文件系统与数据库系统的区别:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。
数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。
(2)文件系统与数据库系统的联系:文件系统与数据库系统都是计算机系统中管理数据的软件。
文件系统是操作系统的重要组成部分;而
DBMS是独立于操作系统的软件。
DBMS是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。
44、答:传统RDBMS的一致性和ACID特性在非关系数据管理系统中继续和发展。
45、答:(1)封锁是指事务T在对某个数据对象(例如表、记录等)进行操作之前,先向系统发出请求,对其加锁。
加锁后,事务T就对该数据对象有控制权,在事务T释放锁之前,其他事务不能更新此数据对象。
(2)基本的封锁类型有两种:排它锁(简称X锁)和共享锁(简称S锁)。
①排它锁又称为写锁。
若事务T对数据对象A加上X锁,则只允许T 来读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
②共享锁又称为读锁。
若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到事务T释放A上的S锁。
这就保证了其他事务可以读A,但在事务T释放A 上的S锁之前不能对A做任何修改。
五、综合题
46、答:依照图7-1所示的学生选课查询方案一E-R图和图7-2所示的学生选课查询方案二E-R 图,转换为对应的关系数据模型,且经过论证满足第三范式的数据库逻辑结构设计如下:
(1)学生选课查询方案一E-R图转换的关系数据模型如下:
学生(学号,姓名,性别,出生年月,入学时间,专业编码,电话,籍贯)
课程(课程号,课程名,学分,学时,考试/考查,开课学期)教师(教师编号,教师名,性别,出生年月,部门编号,职称,电话,籍贯)
课表(学号,课程号,教师编号,授课时间编号,授课地点编号)
(2)学生选课查询方案二E-R图转换的关系数据模型如下:
学生(学号,姓名,性别,出生年月,入学时间,专业编码,电话,籍贯)
课程(课程号,课程名,学分,学时,考试/考查,开课学期)教师(教师编号,教师名,性别,出生年月,部门编号,职称,电话,籍贯)
课表(课序号,课程号,教师编号,授课时间编号,授课地点编号)
选课(学号,课序号)
47、答:(1)因为该关系的码为(Sno,Cno),其余均为非码属性,显然非码属性Ctitle对码存在部分函数依赖,因此SC没有达到2NF,只达到1NF。
(2)该关系在进行数据操纵时会出现插入异常和删除异常:当增加一门新课,而没有学生选该课时,不能加入该课程信息,从而发生插入异常;当只有一位学生选某门课,删除该学生时会把该课程的信息也删除了,从而发生删除异常。
原因在于非码属性Ctitle、Iname、Iloca均部
分依赖于码(Sno,Cno)。
(3)要想使它由1NF规范化为2NF,可以通过关系分解,去除关
系中存在的非码属性对码的部分依赖。
分解后为两个关系SG和CI:
SG(Sno,Cno,Grade)
CI(Cno,Cname,Iname,Iloca)
在上述两个关系中均不存在非码属性对于码的部分函数依赖,均达到2NF。
(4)分解后的关系能解决1NF时出现的上述操作异常问题,但是还会存在新的操作异常:新来的老师还未任课,出现新教师插入异常;取消某门课,会发生删除异常。
因此,还可以对该关系继续分解,进一步规范化,达到更高的规范化程度,避免数据操纵的异常情况。
【解析】判断一个关系达到第几范式,首先必须明确关系的码,这样才能确定该关系的非码属性有哪几个,然后再判断各个非码属性与码的关系,从而确定该关系规范化程度。
在函数依赖范畴内:
①如果存在非码属性对于码的部分函数依赖,则该关系没有达到
2NF,只达到1NF。
②如果不存在非码属性对于码的部分函数依赖,但是存在非码属性对于码的传递函数依赖,则该关系达到2NF,没有达到3NF。
③如果不存在非码属性对于码的部分函数依赖,也不存在非码属性对于码的传递函数依赖,则该关系达到3NF。
④如果该关系每个函数依赖的决定因素都包含码,则该关系达到BCNF。
48、答:(1)使用败者树实现多路归并的外部排序算法,对文件按某个属性进行排序。
(2)若要按多个属性排序,可以采用基数排序算法。
实现方法有:①最高位优先(Most Significant Digit first)法,简称 MSD法。
先按k1排序分组,同一组中记录,关键码k1相等,再对各组按 k2排序分成子组,之后,对后面的关键码继续这样的排序分组,直到按最次位关键码kd对各子组排序后。
再将各组连接起来,便得到一个有序序列。
②最低位优先(Least Significant Digit first)法,简称LSD法:先从kd开始排序,再对kd-1进行排序,依次重复,直到对k1排序后便得到一个有序序列。