试题

全国计算机三级考试《数据库技术》模拟试题三答案及解析

时间:2023-03-28 12:45:20 试题 我要投稿

2015全国计算机三级考试《数据库技术》模拟试题(三)答案及解析

  一、单选题

2015全国计算机三级考试《数据库技术》模拟试题(三)答案及解析

  1.C【解析】对模式进行分解时,既要保证分解具有“无损连接性”,又要保证分解“保持函数依赖”。所谓“无损连接”指分解的若干连接重组时可以精确恢复到原来的数据表,数据记录既没有增加也没有减少。“保持函数依赖”是指原关系模式含有的属性之问的隐含关系在分解后不能丢失。本题由所给的F可以看出A,B,C为关系中的主键,D为非主属性,D依赖于A,B,C分解可恢复出原关系,但其中隐含的D对A、B的依赖却丢失了。

  2.D【解析】分解使得一个关系变为多个关系,常用于关系模式规范化。一般情况下可以减少部分数据冗余,但不恰当的分解也可能增加冗余。

  3.C【解析】一张关系表中的主码不能为空且具有唯一性。外码取值可能为被参照关系中已存在的主码值或空值。最终该表中插入的数据为(1),(2),(4),(6),共4行数据。

  4.B【解析】为了提高系统的性能,应该根据应用情况将数据的易变部分和稳定部分、经常存取部分-和存取频率较低的部分分开存放,较常用的放在高速读写的磁盘上,但并没有说索引一定要在高速磁盘,日志一定要在低速磁带,要根据访问频率决定。

  5.D【解析】三层架构将更多的任务传给服务器端计算,所以增加了网络的通信量,其运行速度受制于网络,并不一定会提高。在适用Intemet、维护工作量等方面,B/S比C/S强;在运行速度、数据安全和人机交互等方面,不如C/S。

  6.C【解析】l属于设计数据库设计中的概念结构设计,Ⅲ属于逻辑结构设计,Ⅳ属于物理设计。Ⅱ、V、Vl属于数据库的实现与维护。所以答案为c。

  7.A【解析】关系数据语言分为关系代数语言、关系演算语言和兼具两者双重特点的语言,如SQL,但所有这些语言的共同特点是非过程化的集合操作语言,所以Ⅱ错误。Ⅳ是因为查询数据表时SQL语句不会检查数据的完整性约束。

  8.C【解析】RAIDl0比RAID5在写数据上更稳定、速度更快,所以C项中应尽量避免存储在RAID5的磁盘存储系统中。

  9.B【解析】本题考察了有关UML的类图表示。这里的区别主要在四种表示上:类的UML表示(空心三角实线连接)、接口的UML表示(空心三角虚线连接)、聚合关系的UML表示(空心菱形实线连接)以及合成关系的UML表示(实心菱形实线连接)。类的表示指的是子类对父类关系的继承;接口与子类继承比较相似,区别主要在于多继承上;聚合关系主要表示一种弱的拥有关系,如A对象可以包含B对象,但B对象不是A对象的一部分;而合成是一种强拥有,体现了严格的部分和整体关系。此题中,车架和车轮是车的严格组成部分,如果缺少一样,车就没法开,所以对车来说是必不可少的部分。所以选B。

  10.D【解析】此题考察了SQL中CASE WHEN语句的用法。如果是简单的赋值查询,比如数据库表示性别:1表示男,2表示女。则用

  CASE sex

  When ˊ1ˊTHEN ˊ勇ˊ

  Whenˊ2ˊ THENˊ女ˊ

  ELSEˊ其它ˊ

  END

  即可以表示。但如果条件较为复杂或包含判断式等,则用D所表示的方式。

  11.D【解析】标量函数返回一个确定类型的标量值。函数体语句定义在BEGIN-END语句内,其中包含了可以返回值的Transact-SQL命令。

  创建标量函数的语法如下:

  CREATE FUNCTION[owner name.]function_name

  ([{@parameter_name[AS][type_schema_name.]parameter_data_type

  [=default]}

  [,…n]

  )

  RETURNS return_data_type

  [AS]

  BEGIN

  function_body

  RETURN scalar_expression

  END

  [;]

  12.A【解析】A属性基于对R进行水平划分,即区别子集主要是通过A属性。B、D都是基于B属性对R的划分。C只是删除了R表中不等于10的记录,不属于划分分区表的方式。

  13.A【解析】架构是形成单个命名空间的数据库实体的集合。命名空问也是一个集合,其中每个元素的名称都是唯一的。架构与用户的关系是一对多的关系,一个用户只能对应一个架构,但多个用户可以共享一个架构,所以选A。

  14.B【解析】SQL Server Agent是一个任务规划器和警报管理器,在实际应用环境下,可以先将那些周期性的活动定义成一个任务,然后让其在SQL Server Agent的帮助下自动运行。假如考生是一名系统管理员,则可以利用SQL Server Agent向自己通知某些警告信息,从而定位出现的问题以提高管理效率。SQLServer Agent主要包括以下几个组件:作业、警报和操作。所以选B。

  15.A【解析】一个数据库可以包含多个数据文件,这些文件可以存放在一个物理磁盘上,也可以放在不同的物理磁盘上。

  16.C 【解析】SQL Server实例就是在数据库中存在的现实的数据库例子,它是后台进程和数据库文件的集合。仅具有登录权限的用户对SQL Server只能进行系统数据库中有关SQL Server的一些系统信息的查询,即只能对master、msdb数据库部分数据进行查询。所以选C。

  17.C【解析】U1要将Tl表中的数据导出,所以要有对数据的查看权限。而u2负责将数据导入到T2表中,则要对表T2有写入权限。所以选C。

  18.C【解析】检测死锁有多种方法,包括超时法、等待图法等。事务等待图法动态地反映了所有事务的等待情况,并发控制的子系统周期性地生成事务等待图进行检测,而不是在执行每个事务时进行检测。所以选择C。

  19.A【解析】本题是对数据库维护的考查,服务器网络的检测不是数据库管理员的职责,而应是操作系统管理员的职责。用户向数据库发送的SQL数量庞大而且没有稳定的衡量指标,所以不属于日常监控范围。选择A。

  20.B【解析】增加冗余列指的是在多个表中添加相同的列,这样虽然增加了数据库服务器存储的负担,但可以减少查询过程中的JOIN(连接)操作,而不是UNION(并)操作。所以选B。

  21.B【解析】Ⅱ.检测事务等待图并撤销回路中的某个事务是在数据库应用系统运行过程中由DBMS完成的工作,不是应用程序设计过程中采取的措施。剩下三个属于在应用程序设计中预防死锁的办法。所以选B。

  22.B【解析】Ⅰ属于数据库测试,Ⅳ、Ⅴ不可行。

  23.B【解析】差异备份是指备份自上一次完全备份之后有变化的数据。SQL Server 2008中除了备份变化的数据外还要备份日志文件,这是因为在恢复时要根据日志中的事务过程进行恢复操作。所以选B。

  24.C【解析】数据文件的空间使用量未必比日志文件大,因为日志是快速增长的。此外,使用日志备份并不能降低数据库的备份空间。所以选C。

  25.C【解析】10点备份过数据库之后,数据库发生故障导致部分数据损坏,此时再进行完整备份或差异备份都没有意义。由于日志文件没有损坏,所以应首先执行结尾日志备份,然后根据上次的完整性备份和新备份的结尾日志文件,找到上次备份的时问点,而后重新执行时问点之后的事务操作,所以选C。


  26.B【解析】分布式数据库的分配方式包括集中式、分割式、全复制式和混合式。集中式指所有数据片断都安排在一个场地上;分割式指全局数据有且只有一份,它们被分割成若干片段,每个片段被分配在一个特定场地上;全复制式是在每个站点上,都有全局数据的复制样本,数据的冗余性最大;混合式是指部分站点上是全局数据的若干片段,部分站点上是全局数据的副本。仅仅根据题目要求,不同部门访问不同的数据子集,并没有强调某个部门要访问全局信息,所以不考虑有全局数据的副本的必要,即选B。

  27.D【解析】分布透明性包括分片透明性、位置透明性、局部数据模型透明性。分片透明性是最高层次,指的是用户或应用程序只对全局关系进行操作而不必考虑关系分片的情况。位置透明性是下一层次,指用户或应用程序只需了解数据分片情况,而不必了解片段的存储场地。局部数据模型透明性指的是用户或用户程序不必了解局部场地上使用的是哪种数据模型,但是必须了解全局数据的分片情况,还需了解各片断的副本复制情况及各片断和它们副本的场地位置分配情况。由于本题中考虑到场地2和场地3的选择,所以位置对用户来说并不透明,应选D。

  28.B【解析】轮转法:对关系顺序扫描,将第i个元组存储到标号为Di mod n的磁盘上,该方式保证了元组在多个磁盘上均匀分布。散列划分:选定一个值域为{0,1,…,n-1}的散列函数,对关系中的元组基于划分属性进行散列,如果散列函数返回i,则将其存储到第i个磁盘。范围划分:根据表中某个属性取值区间划分成不同的子区间,然后根据表中的属性值所属的不同区间将表分成不同的子表。根据属性A对表进行散列划分,然后在每个划分内部执行select语句,会大幅提高查询效率。

  29.A【解析】关联规则是形如X->Y的蕴涵表达式。关联规则的强度可以用它的支持度(s)和置信度(e)度量。支持度确定规则可以用于给定数据集的频繁程度,而置信度确定Y在包含x的事务中出现的频繁程度。两者可以用公式表示:

  从题目中可以看到事务总数是5,A的{啤酒、尿布}支持度计数是3,{啤酒}支持计数是3,所以s=0.6。e=1。同理可得B{面包、尿布}支持计数为3,{面包、尿布、牛奶}支持计数是2,所以S=0.4,C=2/3。C中,{面包、牛奶}支持计数为3,{面包}支持计数为4,所以S=0.6,C=0.75。D中,{面包、啤酒}支持计数为2,{面包、啤酒、尿布}支持计数为2,所以S=0.4,e=1。综上所述,结果选A。

  30.D【解析】元数据是关于数据的数据,或者叫做描述数据的数据。元数据描述了数据的结构、内容、链和索引等项内容。在关系数据中,这种描述就是对数据库、表、列等其他对象的定义。因此可推出,Ⅰ、Ⅲ和V不属于元数据。所以选D。

  二、应用题

  1.聚集

  【解析】建立索引是加快查询速度的有效手段。用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。聚集索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。

  2.逻辑

  【解析】视图是从一个或几个基本表中导出的虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原表中,并且视图在一定程度上能提供数据的逻辑独立性。比如重构数据库时,将一个基本表垂直地分成多个基本表,尽管数据库的逻辑结构改变了,但应用程序不必修改,因为新建立的视图定义为用户原来的关系,使用户的外模式保持不变,用户的应用程序通过视图仍然能够查找数据。

  3.角色

  【解析】用例图是外部用户(参与者)所能观察到的系统功能的模型图,显示系统中的用例与角色及其相互关系,主要用于对系统、子系统或类的功能行为进行建模。用例模型由用例、角色和系统三部分组成。

  4.@@FETCH—STATUS

  【解析】游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理。游标经常会和全局变量@@FETCH_STATUS与WHILE循环来共同使用,以达到遍历游标所在数据集的目的。在执行一条fetch语句后,必须在对另一游标执行另一fetch语句前测试@@FETCH_STATUS。

  5.EXCEPT

  【解析】SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可以进行集合操作。集合操作主要包括并操作UNION、交操作INTERSECT和差操作EXCEPT。参加集合操作的各查询结果的列数必须相同,对应项的数据类型也必须相同。

  6.datediff()

  【解析】DATEDIFF()函数可以返回两个日期之间的天数。

  DATEDIFF(datepart,startdate,enddate),startdate和enddate参数是合法的日期表达式。例如SQL表达式:

  SELECT DATEDIFF(day,ˊ2008-12-30ˊ,ˊ2008-12-29 ˊ)AS DiffDate

  7.output

  【解析】存储过程是SQL语句和可选控制流语句的预编译集合,它用一个名字存储一个处理单元。创建存储过程为:

  CREATE Procedure过程名([参数1,参数2,…])

  AS;

  默认的参数全为输入参数,如果包含输出参数,在相应的参数后面加0utput标识。如:

  CREATE Procedure过程名([参数1,参数2 0utput,…])

  AS;

  执行存储过程时则调用EXEC存储过程名参数名1,参数名2 0utput,执行存储过程的参数与CREATE时的参数对应。

  8.40

  【解析】SQL Server中数据存储的基本单位是页,为数据库中的数据文件(.mdf或.ndf)分配的磁盘空间可以从逻辑上划分成页(从0到n连续编号),磁盘I/0操作在页级执行,也就是说,SQL Server读取或写入所有数据页。在SQL Server中,页的大小为8 KB,这意味着SQL Server数据库中每MB有128页。每页的开头是96字节的标头,用于存储有关页的系统信息,此信息包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元ID。行不能跨页,但是行的部分可以移出行所在的页,因此行实际可能非常大。页的单个行中的最大数据量和开销是8,060字节,由于题目中每行数据占用3000字节,所以一页可以存放两个数据行,1MB的存储空问大约有l28页,对应256行数据,用10000/256即可得到需要的存储空间为40MB。

  9.db_datawriter

  【解析】数据库角色是被命名的一组与数据库操作的相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。SQL提供了9个内置的角色,以便在数据库级别授予用户特殊的权限集合,如下表:

db OWIler 具有在数据库中执行任何操作的权限,包括配置、维护数据库及删除数据库
db accessadmin 该角色的成员可以从数据库中增加或者删除用户的权限
db_backupoperator 该角色的成员允许备份数据库、备份日志的权限
db_datareader 具有查询数据库中所有用户数据的权限
db_datawriter 具有插入、删除和更新数据库中所有用户的权限
db_ddladmin 具有执行数据定义语言的权限
db_denydatareader 不允许具有查询数据库中所有用户数据的权限
db_denydatawriter 不具有插入、删除和修改数据库中所有用户数据的权限
db_securityadmin 具有管理数据库角色、角色成员以及数据库中语句和对象的权限
public 默认角色

  10.事务内部

  【解析】数据库系统中的故障的种类分为事务内部故障、系统故障、介质故障、计算机病毒。事务故障分为预期事务内部故障和非预期事务内部故障。非预期的事务内部故障是不可预期的,不能由应用程序处理的,包括运算溢出、并发事务发生死锁而被撤销该事务、违反了某些完整性限制等。而系统故障是造成系统停止运转的任何事件,使得系统要重新启动。介质故障指硬件损坏等。

  11.可串行

  【解析】DBMS对并发事务不同的调度可能会产生不同的结果。为了衡量调度正确性,执行结果如果可以等价于串行调度则认为是正确的,这样的调度叫可串行调度。而两段锁协议就是实现可串行调度的协议。若并发执行的所有事务均遵守两段锁协议,则这些事务的任何并发调度都是可串的。

  12.差量

  【解析】差量备份只记录数据库上一次完全转储后的变化部分,这样可以提高转储效率,同时保证了备份中数据的完整性。

  13.半

  【解析】数据在网络中传输时,则是以整个关系(也可以是片段)传输,显然这是一种冗余的方法。在一个关系传输到另一场地后,并非每个数据都参与连接操作,因此,不参与连接的数据或无用的数据不必在网络中来回传输。采用半连接操作即可在网络中只传输参与连接的数据。

  14.钻取

  【解析】常用的OLAP多维分析操作有切片、切块、旋转、下钻和卷起。通过这些操作,使用户能从多个角度多侧面观察数据。卷起是在数据立方体中执行聚集操作,通过在维级别中上升或通过消除某个或某些维来观察更概括的数据。下钻是通过在维级别中下降或通过引入某个或某些维来更细致的观察数据。切片和切块实现局部数据的显示,帮助用户从众多混杂的数据中进行选择。旋转就是改变维的方向。

  15.技术

  【解析】元数据是关于数据的数据。在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据。元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为两类:技术元数据和业务元数据。


  三、设计与应用题

  1.(1)【解题思路】

  函数依赖定义:设R(u)是属性集U上的关系模式,X,Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,在Y上的属性值不等,则称X函数确定Y或Y函数依赖X,记作X->Y。函数依赖是指关系R的一切关系均要满足的约束条件。

  【参考答案】

  (商店编号,商品编号)->部门编号,(商店编号,部门编号)->负责人,(商店编号,商品编号)->库存量。

  (2)【解题思路】

  设K为R中的属性或属性组合,若u完全依赖于K,则K为R的候选码。

  【参考答案】

  (商店编号,商品编号)

  (3)【解题思路】

  关系数据库是要满足一定要求的。满足最低要求的叫第一范式,在第一范式中满足进一步要求的为第二范式,其余以此类推。显然该关系模式满足第一范式,接下来检查其是否满足第二范式。在第二范式中,要求关系模式中不存在部分依赖,每一个非主属性完全依赖于码,而根据第一空可得如下依赖关系:(部门编号,商店编号)->负责人,所以属于第二范式。它的非主属性(不包含在任何候选码中的属性)有3个:部门编号、负责人和库存量,并皆完全函数依赖于主码。将(商店编号、商品编号)记作X,(商店编号、部门编号)记作Y,负责人记作Z,即x→Y,Y→Z。由此可以看出,存在传递依赖,故不属于第三范式。

  【参考答案】

  第二范式

  (4)【解题思路】

  第三范式中要求每一个属性既不部分依赖于码也不传递依赖于码。

  【参考答案】

  R1(商店编号、商品编号、部门编号、库存量);B2(商店编号、部门编号、负责人)。

  2.(1)【解题思路】

  数据实际上是依附于表而存在,我们将表放入到文件组中,而文件组是一个逻辑的概念,其实体是辅助数据库文件(ndf),所以就等于将我们指定的数据放入到了指定的辅助数据库文件中,然后将这些辅助数据库文件放人不同的磁盘分区中,就可以有针对性的对相应的数据实现性能的优化。

  【参考答案】

  create partition scheme RangePSl

  as partition RangePFl

  to(fgl,f91.fgl,f92)

  (2)【解题思路】

  创建分区表可通过以下几个步骤实现:

  ①创建分区函数。

  ②创建分区方案。

  ③使用分区方案创建表。

  【参考答案】

  创建分区表:

  create table orders

  (

  GID int identity(1,1)primary key,

  GoodName varchar(40),

  Price float

  )

  on RangePSl(GID)

  3.(1)【解题思路】

  该技术人员使用了带有索引的视图,将所关心的数据(商品号,销售额,该商品号在表中出现的次数)从销售明细表中提取出来建立视图,并对该视图建立按商品号排序的聚簇索引,这样大大减少了在搜索不同商品的销售额时调用的数据表的规模,从而提高了查询效率。由于表的数据规模很大,建立该视图后,同一种商品不会多次出现在表中,而是通过一个计数变量cnt表示,即在检索时大大减少了检索规模。创建索引时,UNIQUE关键字表明此索引的每一个索引值只对应唯一的数据记录。CLUSTER表示要建立的索引是聚簇索引(所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织)。

  【参考答案】

  语句功能:建立包含所关心数据(商品号,销售额,该商品号在表中出现的次数)的带索引的视图,并建立按商品号对应销售额UNIQUE聚簇排序的索引,从而大大缩小了查询语句的查询范围,提高了查询效率。

  原因:视图中将问接相关的属性列(序列号,销售日期,商品号,销售数量,销售价格)转换成了目标属性列,减少了搜索空问,同时建立UNIQUE CLUSTERED索引,使查询商品号的数据记录唯一,因此降低了搜索范围,提高了搜索效率。

  (2)【解题思路】

  由于视图是不实际存储数据的虚表,因此对视图的更新最终要转换为对基本表的更新。而用户通过视图对数据进行增加、删除、修改时,有意或无意地对不属于视图范围内的基本表数据进行操作,会破坏数据的一致性。而且视图中的数据本身就是冗余的,每次对表进行修改时,同时也要对相应的视图进行修改,这大大增加了系统的负担。

  【参考答案】

  不合适,每天大量的插入操作使得在修改表的同时也要对视图进行修改,增加了系统的负担,然而该统计功能一个月才用一次,这样导致系统的利用率也较为低下。

【全国计算机三级考试《数据库技术》模拟试题三答案及解析】相关文章:

2015全国计算机三级考试《数据库技术》模拟试题(八)答案及解析03-21

计算机三级考试《数据库技术》试题及答案11-27

计算机三级网络试题及答案解析02-02

计算机三级《信息安全技术》考试题及答案05-27

计算机三级考试数据库模拟题03-21

计算机三级数据库技术练习题及答案01-14

计算机三级考试试题04-18

2024年计算机三级信息安全技术试题及答案03-07

全国英语等级考试三级写作试题11-02

三级人力资源考试题及答案06-16