1、2022年宁波大学计算机科学与技术专业数据库原理科目期末试卷B(有答案)一、填空题1、SQL Server中数据完整性包括_、_和_。2、有两种基本类型的锁,它们是_和_。3、使某个事务永远处于等待状态,得不到执行的现象称为_。有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为_。4、完整性约束条件作用的对象有属性、_和_三种。5、关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。因为,用户只要提出_,不必指出 _。6、在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在S
2、EL ECT语句中使用_保留字。7、_、_、_和是计算机系统中的三类安全性。8、若事务T对数据对象A加了S锁,则其他事务只能对数据A再加_,不能加_,直到事务T释放A上的锁。9、在RDBMS中,通过某种代价模型计算各种查询的执行代价。在集中式数据库中,查询的执行开销主要包括_和_代价。在多用户数据库中,还应考虑查询的内存代价开销。10、设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。SELECT城市FROM作者表_SELECT城市FROM出版商表;二、判断题11、在数据表中,空值表示不确定。()12、视
3、图是观察数据的一种方法,只能基于基本表建立。()13、在关系运算中,投影是最耗时的操作。()14、在SELECT语句中,需要对分组情况满足的条件进行判断时,应使用WHERE子句。()15、SQL语言有嵌入式和交互式两种使用方法。()16、从计算机数据管理的角度看,信息就是数据,数据就是信息。()17、在关系数据库中,属性的排列顺序是可以颠倒的。()18、在关系数据表中,属性的顺序是一定的,不能交换。()19、有出现并发操作时,才有可能出现死锁。()20、可以用UNION将两个查询结果合并为一个查询结果。()21、实体集和实体型是一回事,没有什么区别。()22、全码的关系模式一定属于BC范式。(
4、)23、视图就是一个虚表,保存视图时,保存的是视图的定义。()24、在数据库恢复中,对已完成的事务进行撤销处理。()25、标准SQL语言能用于所有类型的关系数据库系统。()三、选择题26、对关系数据库来说,下面哪些说法是错误的()。A每一列的分量是同一种类型数据,来自同一个域B不同列的数据可以出自同一个域C行的顺序可以任意交换,但列的顺序不能任意交换D关系中的任意两个元组不能完全相同27、关于基于日志的恢复叙述中,哪一项是正确的()。A利用更新日志记录中更新前的值可以进行UNDO,利用更新日志记录中更新前的值可以进行REDOB利用更新日志记录中更新前的值可以进行UNDO,利用更新日志记录中更新
5、后的值可以进行REDOC利用更新日志记录中更新后的值可以进行UNDO,利用更新日志记录中更新前的值可以进行REDOD利用更新日志记录中更新后的值可以进行UNDO,利用更新日志记录中更新后的值可以进行REDO28、建立关于系、学生、班级、社团等信息的一个关系数据库,一个系有若干个专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干学生。描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。描述班级的属性有:班号、专业名、系名、人数、入学年份。描述系的属性有:系号、系名、系办公地点、人数。描述社团的属性有:社团名、成立年份、地
6、点、人数、学生参加某社团的年份。回答以下问题:(1)画出E-R图。(2)请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系的候选码、外码,有没有全码存在?29、Access、Delphi和SQL ServerCOracle、Sybase、Informix、Visual FoxProDPowerDesigner、Sybase、Informix、Visual FoxPro30、设E是关系代数表达式,F是选取条件表达式,并且只涉及A1,An属性,则有()。AF(A1,An(E)A1,An(
7、F(E)BF(A1,An(E)A1,An(E)CF(A1,An(E)A1(F(E)DA1,An(F(E)A1,An(F(A1,An,B1,Bm(E)31、SQL语言中,HAVING子句用于筛选满足条件的()。A列 B行 C分组 D元组32、在关系代数表达式的等价优化中,不正确的叙述是()。A尽可能早地执行连接 B尽可能早地执行选择 C尽可能早地执行投影D把笛卡尔积和随后的选择合并成连接运算33、有一个关系:职工(职工号,姓名,籍贯),规定职工号的值域是8个数字字符组成的字符串,这一规则属于()。A参照完整性B用户定义的完整性C实体完整性D关键字完整性约束34、数据模型的三要素是()。A数据定义
8、、数据操作和数据安全性约束 B数据结构、数据操作和数据完整性约束C数据定义、数据存储和数据操作约束 D数据结构、数据存储和数据一致性约束35、DBMS通过加锁机制允许用户并发访问数据库,这属于DBMS 提供的()。A数据定义功能 B数据操纵功能C数据库运行管理与控制功能D数据库建立与维护功能36、关于数据仓库的特性()。A面向主题的特性是指在组织数据仓库数据时,需要将各种分析需求归类并抽象,形成相应的分析应用主题,并根据分析应用主题的数据需求设计和组织数据B集成特性是指需要将业务系统中的所有数据抽取出来,载入到数据仓库中C集成特性是指需要将企业整个架构中的各种数据和应用集中到数据仓库中D随时间
9、变化性是指数据仓库中的每个数据单元一般都有时间标志,且其中各种数据(包括原始数据)会随时间变化被经常修改37、设有两个事务T1、T2,其并发操作如表11-1所示,下列评价正确的是()。A该操作不存在问题B该操作丢失修改C该操作不能重复读D该操作读“脏”数据38、关于SQL Server的数据库角色叙述正确的是()。A用户可以自定义固定角色B数据库角色是系统自带的,用户一般不可以自定义C每个用户只能拥有一个角色D角色用来简化将很多用户权限分配给很多用户这一复杂任务的管理39、关于数据仓库设计,下述说法正确的是()。A数据仓库项目的需求很难把握,所以不可能从用户的需求出发来进行数据仓库的设计,只能
10、从数据出发进行设计B在进行数据仓库主题数据模型设计时,应该按面向部门业务应用的方式来设计数据模型C在进行数据仓库主题数据模型设计时要强调数据的集成性D在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域40、在面向对象数据库系统中,不同类的对象共享公共部分的结构和特性称为()。A共享性 B继承性 C通用性 D一致性四、简答题41、针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复,如何进行系统故障的恢复,以及如何进行介质故障的恢复。)42、试述关系模型的3个组成部分。43、 试述关系数据库的特点。44、试由Armstrong公理推导出下面3
11、条推理规则:(1)合并规则:若XY,XZ,则XYZ。(2)分解规则:若XYZ,则XY,XZ。(3)伪传递规则:若XY,YWZ,则XWZ。45、请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?五、综合题46、使用嵌入式SQL对学生-课程数据库中的表完成下述功能:(1) 查询某一门课程的信息。要查询的课程由用户在程序运行过程中指定,放在主变量中。(2) 查询选修某一门课程的选课信息,要查询的课程号由用户在程序运行过程中指定,放在主变量中,然后根据用户的要求修改其中某些记录的成绩字段。47、在基于关系数据库的联机分析处理实现中,举例说明如何利用关系数据库的二维表来表达多维概念。48、工厂(包
12、括厂名和厂长名)需建立一个管理数据库存储以下信息:(1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。(2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。(3)一个车间生产多种产品,产品有产品号和价格。(4)一个车间生产多种零件,一个零件也可能由多个车间制造。零件有零件号、重量和价格。(5)一个产品由多种零件组成,一种零件也可装配出多种产品。(6)产品与零件均存入仓库中。(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。回答以下问题:(1)画出该系统的E-R图。(2)给出相应的关系模式。(3)画出该系统的层次模型图。参考答案一、填空题1、【答案】域完整性
13、;实体完整性;参照完整性2、【答案】共享锁;排他锁3、【答案】活锁;死锁4、【答案】关系;元组5、【答案】干什么;怎么干6、【答案】DISTINCT7、【答案】技术安全类;管理安全类;政策法律类安全性8、【答案】S锁;X锁9、【答案】CPU;I/O10、【答案】EXCEPT【解析】EXCEPT语句的作用是查询两个数据表中除“公共”数据以外的数据信息,即查询两个数据表中的“除外”数据信息。使用EXCEPT运算符可以实现集合差操作,从左查询中返回右查询没有找到的所有非重复值。二、判断题11、【答案】对12、【答案】错13、【答案】错14、【答案】错15、【答案】对16、【答案】错17、【答案】对1
14、8、【答案】错19、【答案】对20、【答案】对21、【答案】错22、【答案】对23、【答案】对24、【答案】错25、【答案】对三、选择题26、【答案】C【解析】基本关系具有以下6条性质:列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。不同的列可出自同一个域,但是具有不同的列名(属性名)。列的顺序无所谓,即列的次序可以任意交换。任意两个元组的候选码不能相同。行的顺序无所谓,即行的次序可以任意交换。分量必须取原子值,即每一个分量都必须是不可分的数据项。27、【答案】B【解析】UNDO,对撤消队列中的各个事务进行撤消处理,处理方法是:反向扫描日志文件,对每个UNDO事务的更新操作执行逆操
15、作,即将日志记录中“更新前的值,写入数据库;REDO,对重做队列中的各个事务进行重做处理,处理方法是:正向扫描日志文件,对每个REDO 事务重新执行登记的操作,即将日志记录中“更新后的值”写入数据库。28、答:(1)对应的E-R图,如图所示。图6-5学生等管理E-R图(2)所有关系模式如下。学生关系:学生(学号,姓名,出生年月,系名,班号,宿舍区)候选码:学号;外码:系名,班号。最小依赖集Fm学号姓名,学号出生年月,学号班号,班号系名,系名宿舍区。其中,存在以下传递函数依赖:学号系名,系名学号,系名宿舍区,因为学号宿舍区。班号系名,系名班号,系名一宿舍区,所以班号宿舍区。学号班号,班号学号,班
16、号系名,所以学号系名。所以学生模式最高达到2NF。班级关系:班级(班号,专业名,系名,人数,入学年份)候选码:班号和(专业名,入学年份);外码:系名。最小依赖集Fm班号专业名,班号人数,班号入学年份,专业名系名)。存在部分函数依赖:(专业名,入学年份)系名,而专业名系名。另外,还存在以下传递函数依赖:班级号专业名,专业名班级号,专业名系名,所以班级号系名所以班级模式最高达到1NF。系关系:系(系号,系名,办公室地点,人数)候选码:系号和系名;无外码。最小依赖集Fm系号系名,系号办公室地点,系号人数,系名系号)系关系模式最高达到BCNF范式。社团关系:社团(社团名,成立年份,地点,人数)候选码:
17、社团名;无外码。最小依赖集Fm社团名成立年份,社团名地点,社团名人数。社团关系模式最高达到BCNF范式。学生参加社团关系:参加(学号,社团名,入团年份)候选码:(学号,社团名);外码:学号,社团名。最小依赖集Fm(学号,社团名)入团年份),而“(学号,社团名)入团年份”是完全函数依赖。参加关系模式最高达到BCNF范式。29、【答案】C【解析】关系数据库管理系统是被公认为最有前途的一种数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle、Sybase、Informix、Visual FoxPro、Access和SQL Server等。Delph
18、i、PowerBuilder和PowerDesigner属于应用系统开发工具软件。30、A31、【答案】C【解析】HAVING子句常与GROUP BY子句联合使用,GROUP BY 通常指出分组的依据列,即依据那个属性列来分组,而HAVING子句则指出各分组提取的条件。例如:要求列出某班本学期所有课程中,班级平均成绩高于75的课程号、课程名称时,GROUP BY子句应该指出分组的依据是选课关系中的课程号属性列,HAVING子句则提出该课程的全班平均成绩AVG要高于75,低于75的就不提取了。32、【答案】A【解析】在关系代数表达式中,连接运算的结果常常是一个较大的关系。如果尽可能早地执行连接,
19、则运算得到的中间结果就33、【答案】B 【解析】用户定义的完整性是针对某一具体数据库的约束条件,它反映某一具体应用涉及的数据必须满足语义要求;而规定学号的值域是8个数字字符组成的字符串显然属于这一类型。34、【答案】B【解析】数据模型是数据库系统的数学形式框架,是用来描述数据的一组概念和定义。数据模型包含以下三要素:数据结构:由一组创建数据库的规则组成。数据结构用于描述系统的静态特性,它是所研究对象类型的集合,也是刻画一个数据模型性质最重要的方面。数据操作:定义允许对数据库进行操作的种类(包括更新和检索数据库中的数据以及修改数据库结构)。数据完整性约束条件:一组完整性规则,确保数据的准确性。3
20、5、【答案】C【解析】通过加锁机制允许用户并发访问数据库属于DBMS所提供的数据库运行管理与控制功能,除此之外数据库运行管理与控制功能还包括:统一管理和控制数据库的建立、运行和维护。计算机系和教务处要对某数据库进行访问,计算机系全体教师对此数据库中的全部数据具有查询权,教务处全体人员对此数据库中全部数据具有查询、插入、删除和修改权。36、【答案】A【解析】数据仓库是一个面向主题、集成、非易失、随时间变化的数据集合,基于传统数据库技术,主要目标是研究如何更有效的组织大规模复杂的数据。数据仓库是基于数据库技术的,是研究如何将大规模复杂的数据更有效的组织用于方便使用的技术。 37、【答案】D【解析】
21、事务T1读出数据A并做了修改,事务T2读取同一数据,随后T1由于某种原因被撤消,执行回滚,这时T1已修改过的数据恢复原值 100,T2读到的数据200就与数据库中的数据不一致,称为“脏”数据。38、【答案】D【解析】服务器级的角色建立在SQL服务器上,是系统预定义的,用户不能创建服务器角色,只能选择合适的服务器角色,但能定义数据库角色;一个数据库用户可以出现在多种角色中;角色是多权限分配给多用户这一复杂任务的管理方式。39、【答案】C【解析】数据仓库项目的设计一定要从用户的需求出发。进行数据仓库主题数据模型设计时,应该按面向主题而不是部门业务应用的方式来设计数据模型。在进行数据仓库概念模型设计
22、时,可以设计实体关系图,而在逻辑设计时才给出数据表的划分,并给出每个属性的定义域。40、【答案】B四、简答题41、答:(1)事务故障的恢复是由DBMS执行的。恢复步骤是自动完成的,对用户是透明的。具体过程是: 反向扫描文件日志(即从后向前扫描日志文件),查找该事务的更新操作;对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库;继续反向扫描日志文件,做同样处理;如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。(2)系统故障的恢复操作是指撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。系统的恢复步骤是:正向扫描日志文件,找出在故障发生前已经
23、提交的事务队列(REDO队列)和未完成的事务队列(UNDO队列);对撤销队列中的各个事务进行UNDO处理; 对重做队列中的各个事务进行REDO处理。(3)介质故障是最严重的一种故障。恢复方法是重装数据库,重做已完成的事务。具体过程是:DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态;DBA装入转储结束时刻的日志文件副本;DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。42、答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。(1)关系数据结构:在关系模型中,现实世界的实体以及实体间的各种联系均用单一的结构类型即
24、关系来表示。(2)关系操作集合:关系模型中常用的关系操作包括查询操作和插入、删除、修改操作。(3)关系完整性约束:关系模型中有实体完整性约束、参照完整性约束和用户定义的完整性约束三类约束。43、答:关系数据模型具有下列优点:(1)关系模型与非关系模型不同,它是建立在严格的数学概念基础上的。(2)关系模型的概念单一,无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,同时也简化了程序员的工作和数据库开发建立的工作。所以关系数据模型诞生以后发展迅速,
25、深受用户的喜爱。当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如格式化数据模型。因此为了提高性能,DBMS必须对用户的查询请求进行优化因此增加了开发DBMS的难度。不过,用户不必考虑这些系统内部的优化技术细节。44、证明:设U为关系模式的属性全集。(1)XY(已知),XXY(增广律)又XZ(已知),XYYZ(增广律)XYZ(传递律)。(2)YYZU,YZY(自反律)同理YZZ(自反律)XYZ(已知),XY(传递律)同理XZ(传递律)。(3)XY(已知),YWYZ(增广律)YWZ(已知),XWZ(传递律)。45、答:(1)数据库系统一般采用允许死锁发生,D
26、BMS检测到死锁后加以解除的方法。DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。超时法是如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁。事务等待图是一个有向图G(T,U)。T为结点的集合,每个结点表示正运行的事务;U为边的集合,每条边表示事务等待的情况。若T1等待T2,则T1,T2之间划一条有向边,从T1指向T2。事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期性地生成事务等待图,并进行检测。如果发现图中存在回路,则表
27、示系统中出现了死锁。(2)DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行。对撤销的事务所执行的数据修改操作必须加以恢复。五、综合题46、答:(1)(2)47、答:如图所示的星形模式的中心是销售事实表,其周围的维表有时间维表、顾客维表、销售员维表、制造商维表和产品维表。如果对上图星状模式中的维表按照层次进一步细化:顾客维表可以按照所在地区的位置分类聚集;时间维表可以有两类层次日、月,日、星期;制造商维表可以按照工厂且工厂按照所在地区分层。这样就形成了如图所示的雪花模式。48、答:(1)该系统的E-R图如图所示。各实体的属性如下:工厂:厂名、厂长姓名。车间:车问号、车间主任姓名、地址、电话。工人:职工号、姓名、年龄、性别、工种。仓库:仓库号、仓库主任姓名、电话。零件:零件号、重量、价格。产品:产品号、价格。该系统的E-R图(2)相应的关系模式如下:工厂(厂名、厂长姓名)车间(车间号、车间主任姓名、地址、电话、厂名)工人(职工号、姓名、年龄、性别、工种、车间号)仓库(仓库号、仓库主任姓名、电话、厂名)产品(产品号、价格、车间号、仓库号)零件(零件号、重量、价格、仓库号)制造(车间号、零件号)(3)该系统的层次模型图如图所示。该系统的层次模型图