计算机三级数据库技术习题库及答案.docx
《计算机三级数据库技术习题库及答案.docx》由会员分享,可在线阅读,更多相关《计算机三级数据库技术习题库及答案.docx(39页珍藏版)》请在冰豆网上搜索。
![计算机三级数据库技术习题库及答案.docx](https://file1.bdocx.com/fileroot1/2023-2/9/2a77416c-456d-4b5e-8db8-3f820528e768/2a77416c-456d-4b5e-8db8-3f820528e7681.gif)
计算机三级数据库技术习题库及答案
计算机三级数据库技术习题库及答案2021
习题1
1[填空题]SQLServer性能工具有:
()和数据库引擎优化顾问
参考解析:
SQLServerProfiler
2[填空题]多表中相关列称为()码。
参考解析:
聚集
3[单选题]某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接操作实现的,此操作性能较差。
在保证功能不变的前提下,若要提高该查询的执行效率,下列方法中可行的是()
A.将此查询语句放置在视图中,使用视图实现该查询操作
B.修改实现此功能的查询语句,将连接查询改为嵌套查询
C.将此功能涉及到的表进行合并,然后对合并后的表进行查询
D.将此查询语句放置在存储过程中,通过调用存储过程实现该查询操作
参考答案:
C
4[单选题]下面哪些是参数调整中需要关注的对象。
A.内存分配B.磁盘I/OC.资源竞争D.以上全部
参考答案:
D
5[单选题]下列关于SQLServer数据库管理系统权限的叙述中,哪一条是不正确的?
A.SQLServer数据库管理系统的.权限分为服务器权限和数据库权限两种
B.数据库管理员执行数据库管理任务。
这是属于数据库权限
C.数据库权限又可以分为数据库对象权限和数据库语句权限两种
D.数据库语句权限授予用户以允许他们创建数据库对象
参考答案:
B
6[单选题]SQL语言集数据定义、数据查询、数据操纵和数据控制功能于一体,语句UPDATE实现()功能。
A.数据定义B.数据查询C.数据操纵D.数据控制
参考答案:
C
7[单选题]在SQLSever中创建用户数据库,其主要数据文件的大小必须大于__________。
A.master数据库的大小
B.model数据库的大小
C.msdb数据库的大小
D.3MB
参考答案:
B
8[单选题]在SQLServer系统数据库中,存放用户数据库公共信息的是__________。
A.masterB.modelC.msdbD.tempdb
参考答案:
B
参考解析:
mdfldf
9[单选题]一个数据表10000行数据,每行3500字节,计算表需要空间()
A.20MBB.40MBC.60MBD.80MB
参考答案:
B
10[单选题]在SQLSever中创建用户数据库,实际就是定义数据库所包含的文件以及文件的属性。
下列不属于数据库文件属性的是__________。
A.初始大小B.物理文件名C.文件结构D.最大大小
参考答案:
C
11[填空题]SQLServer一个数据库中可以包含__________个次要数据文件。
参考解析:
0到多
12[单选题]收缩整个数据库的大小,可以采用下列语句:
()
A.DBCCSHRINKDATABASE
B.DBCCSHRINKFILE
C.ALTERDATABASE
D.CREATESCHEMA
参考答案:
A
13[填空题]()是数据库中的一个逻辑命名空间,可以存放表、视图等数据库对象,用于对数据库对象进行分类。
参考答案:
架构(或模式,Schema)
14[单选题]下列不属于创建分区表步骤的是__________。
A.创建分区依据列
B.创建分区函数
C.创建分区方案
D.使用分区方案创建表
参考答案:
A
15[单选题]在SQLServer2008中,设用户U1是某数据库db_datawriter角色中的成员,则U1在该数据库中有权执行的操作是()
A.SELECT
B.SELECT和INSERT
C.INSERT、UPDATE和DELETE
D.SELECT、INSERT、UPDATE和DELETE
参考答案:
C
16[单选题]
下列角色中,具有数据库中全部用户表数据的插入、删除、修改权限且只具有这些权限的角色是__________。
A.db_ownerB.db_datareaderC.db_datawriterD.public
参考答案:
C
17[单选题]下列存储管理方案中,()允许动态扩充内存容量。
A.固定分区B.可变分区C.页式D.虚拟页式
参考答案:
D
18[单选题]“把查询sc表和更新sc表的grade列的权限受予用户user1”的正确SQL语句是()。
A.GRANTSELECT,UPDATE(grade)ONTABLEscTOuser1
B.GRANTSELECTsc,UPDATEsc,gradeTOuser1
C.GRANTSELECT,UPDATEONTABLEsC.gradeTOuser1
D.GRANTSELECTONTABLEsc,UPDATEONTABLEsc(grade)TOuser1
参考答案:
D
19[单选题]影响优化器的主要因素有:
A.由于现有索引不足,导致排序索引中不包括一个或几个待排序的列。
B.Groupby和orderby子句中列的次序与索引次序一致。
排列的列来自不同的表。
C.建立的索引文件太多。
D.事务处理太多
参考答案:
A
20[单选题]某数据库应用系统使用SQLServer2008作为数据库平台。
在系统运行期间,用户反映某更新操作很慢,无法正常完成业务。
系统工程师分别在用户的客户机和数据库服务器上使用数据库管理系统自带的客户端工具执行此更新操作语句,发现该语句执行后长时间无响应。
经检查数据库服务器CPU使用率小于1%,磁盘IO也非常小。
造成此现象可能的原因是()
A.客户机到数据库服务器的网络故障
B.更新操作涉及到的表没有建立主码
C.更新的字段没有建立有效的索引
D.更新操作涉及到的数据被锁定
参考答案:
D
习题2
单选题
1.在一台正在运行的SQLServer2008中,现需使用复制数据库文件的方法将某数据库从一台服务器移动到另一台服务器。
关于复制数据库文件,有下列实现方法:
.首先从数据库服务器中分离出要复制的数据库,然后复制数据库文件
Ⅱ.首先停止SQLServer数据库引擎服务,然后复制数据库文件
Ⅲ.首先断开所有用户与数据库的连接,然后复制数据库文件
Ⅳ.由Windows系统管理员直接到操作系统中复制数据库文件
上述方法中,可行的是()。
A.仅I和Ⅱ
B.仅Ⅱ和Ⅲ
C.仅Ⅲ和Ⅳ
D.都可以
2.设有职工表(职工号,姓名,地址1,地址2),其中,职工号为主码。
现要求地址1和地址2组合起来不能有重复值。
在SQLServer2008环境中有下列创建该表的语句:
.CREATETABLE职工表(
职工号intPRIMARYKEY,
姓名n10),
地址1nvar20),
地址2nvar20),
UNIQUE(地址1,地址2)
)
Ⅱ:
CREATETABLE职工表(
职工号intPRIMARYKEY,
姓名n10),
地址1nvar20).
地址2nvar20)UNIQUE(地址1,地址2)
)
Ⅲ.CREATETABLE职工表(
职工号intPRIMARYKEY.
姓名n10),
地址1nvar20)UNIQUE,
地址2nvar20)UNIQUE
)
IV.CREATETABLE职工表(
职工号intPRIMARYKEY。
姓名n10),
地址1nvar20)UNIQUE(地址1,地址2),
地址2nvar20)
)
上述语句能正确实现此约束的是()。
A.仅Ⅰ和Ⅲ
B.仅Ⅱ和Ⅳ
C.仅Ⅰ、Ⅱ和Ⅳ
D.都正确
3.在SQLServer2008中,设有商品表(商品号,商品名,生产13期,单价,类别)。
现经常需要执行下列查询:
SELECT商品号,商品名,单价
FROM商品表WHERE类别IN(ˊ食品ˊ,ˊ家电ˊ)
ORDERBY商品号
现需要在商品表上建立合适的索引来提高该查询的执行效率。
下列建立索引的语句,最合适的是()。
A.CREATEINDEXIdxlON商品表(类别)
B.CREATEINDEXIdxlON商品表(商品号,商品名,单价)
C.CREATEINDEXIdxlON商品表(类别,商品号)INCLUDE(商品名,单价)
D.CREATEINDEXIdxlON商品表(商品号)INCLUDE(商品名,单价)WHERE类别=ˊ食品ˊ0R类别=ˊ家电ˊ
4.设在SQLServer2008中有商品表(商品号,商品名,进货价格,销售价格),现要求销售价格必须至少是进货价格的1.1倍。
下列关于实现此约束的说法,正确的是()。
A.可以用触发器或者用CHECK约束实现
B.只能用CHECK约束实现
C.只能用触发器实现
D.可以用DEFAULT约束实现
5.设在SQLServer2008中,用户U1在DB1数据库中创建T#Temp表。
下列关于#Temp表的说法,正确的是()。
A.只有在创建#Temp表的连接中才可以查询#Temp表数据
B.在所有用户U1发起的连接中,都可以查询#Temp表数据
C.在创建#Temp表的.连接未断开时,DB1数据库的所有用户都可以查询#Temp表数据
D.在创建#Temp表的连接断开后,DBl数据库的所有用户仍可以查询#Temp表数据
6.在SQLServer2008的某数据库中,设用户U1同时是角色R1和角色R2中的成员。
现已授予角色R1对表T具有SELECT、INSERT和UPDATE权限,授予角色R2对表T具有INSERT和DENYUPDATE权限,没有对U1进行其他授权,则U1对表T有权执行的操作是()。
A.SELECT和INSERT
B.INSERT、UPDATE和SELECT
C.SELECT和UPDATE
D.SELECT
7.在SQLServer2008中,设用户U1是某数据库db_datawriter角色中的成员,则U1在该数据库中有权执行的操作是()。
A.SELECT
B.SELECT和INSERT
C.INSERT、UPDATE和DELETE
D.SELECT、INSERT、UPDATE和DELETE
8.某数据库应用系统在运行中,用户反映某操作很慢。
系统工程师在用户的客户机及数据库服务器上使用数据库管理系统自带的客户端程序执行此操作所涉及的SQL语句,发现在两个环境下SQL语句执行的速度都很慢。
为了提高效率,下列检查无需进行的是()。
A.检查客户机到数据库服务器的网络情况
B.检查数据库服务器的CPU使用情况
C.检查这些操作涉及到的表是否已建立有效的索引
D.检查数据库中是否存在大量锁
9.数据库应用系统在使用过程中,会根据用户的需求及系统运行情况对系统进行升级和改造。
关于系统升级改造工作,下列说法错误的是()。
A.在系统升级改造过程中,可能会调整数据库的逻辑结构,例如增加数据项、修改数据项的类型等
B.升级改造实施过程应尽量选择在业务不繁忙或没有业务的期间进行,并在升级完成后进行测试
C.升级改造过程一般只对应用系统及其相关的数据库对象进行调整,不涉及数据库管理系统及操作系统的类型和版本
D.在升级之前,应先对现有的系统及数据进行备份,如果升级失败则需要使用备份进行恢复
10.监控数据库系统运行状态是数据库管理员非常重要的职责。
数据库管理员有如下工作:
Ⅰ.定期实施数据库完整备份并将备份数据传送到远端容灾中心
Ⅱ.定期查看数据库空间是否满足业务需求
Ⅲ.定期查看数据缓冲区命中率、数据库锁情况
Ⅳ.定期查看数据库用户会话情况
V.使用自动化手段检查数据库CPU使用情况,出现异常情况时自动发短信通知系统管理员
上述工作中属于数据库监控工作的是()。
A.仅Ⅰ、Ⅱ和V
B.仅Ⅰ、Ⅲ和Ⅳ
C.仅Ⅱ、Ⅲ、Ⅳ和V
D.全部
参考答案与解析:
1.A【解析】复制数据库的方法有:
①使用复制数据库向导在服务器之间复制或移动数据库。
②还原数据库备份,若要复制整个数据库,可以使用BACKUP和RESTORETransact_SQL语句。
通常,还原数据库的完整备份用于因各种原因将数据库从一台计算机复制到其他计算机。
所以选A。
2.C【解析】Ⅲ表示在地址1的所有记录中地址不允许重复,即每个职工的地址1都不同且每个职工的地址2也不允许重复。
UNIQUE是对创建的表的属性约束条件,与位置无关。
3.D【解析】建立索引是加快查询速度的有效手段。
在SQL语言中,建立索引使用CREATEINDEX语句,一般格式为:
CREATE[UNIQUE]INDEX<索引名>ON<表名>(<列名>[<次序>],<列名>[<次序>],)INCLUDE(属性名)WHERE约束条件所以根据题意选D。
4.A【解析】用户定义的完整性可以用CHECK短语指定列值应满足的条件,也可以用触发器约束,通过服务器自动激活相应的触发器,对数据进行完整性控制。
所以触发器或CHECK约束都可以实现。
但DEFAULT约束不能实现用户自定义的完整性,只能表示实体或参照完整性。
5.A【解析】用户若想在SQLSenrer中访问数据库的表,必须同该表建立一个连接表示通信渠道,当连接中断时,无法对其进行访问。
B中只有用户与#temp建立的连接才可以访问到表。
C中不是所有用户都可以访问该表,只有U1用户和由U1授权的用户可以访问。
D项很明显也不正确。
故答案为A。
6.A【解析】当用户被赋予的两种角色的权限出现冲突时,为了安全起见,都是DENY优先。
而没有规定DENY权限的,如本题中的SELECT,则用户可以使用此权限。
所以选A。
7.C【解析】db_datawriter角色可以对表中的数据执行插入、删除和更新操作。
U1用户属于此角色中的成员,其继承了db_datewriter角色的插入、删除和更新操作权限。
所以选C。
8.A【解析】在客户机和数据库服务器上使用数据库管理系统自带的客户端程序分别执行都很慢,则排除了网络对于数据处理操作的影响。
9.C【解析】数据库系统的更新既包括应用系统及其相关的数据库对象,也包括数据库管理系统及其所在的操作系统的环境。
10.C【解析】1是数据库维护工作中的数据库备份,不属于数据库监控分析中的内容。
习题3
1[单选题]关于数据库视图,下列说法正确的是()
A.视图可以提高数据的操作性能
B.定义视图的语句可以是任何数据操作语句
C.视图可以提供一定程度的数据独立性
D.视图的数据一般是物理存储的
参考答案:
C
2[填空题]将查询语句产生的结果集制定一个临时命名的名字这些命名的结果集就是()。
参考解析:
公用表表达式CTE
3[单选题]
下述语句的功能是将两个查询结果合并为一个结果,其中正确的是__________。
A.selectsno,sname,sagefromstudentwheresdept='cs'
Orderbysage
Union
selectsno,sname,sagefromstudentwheresdept='is'
Orderbysage
B.selectsno,sname,sagefromstudentwheresdept='cs'
Union
selectsno,sname,sagefromstudentwheresdept='is'
Orderbysage
C.selectsno,sname,sagefromstudentwheresdept='cs'
Union
selectsno,snamefromstudentwheresdept='is'
Orderbysage
D.selectsno,sname,sagefromstudentwheresdept='cs'
Orderbysage
Union
selectsno,shame,sagefronstudentwheresdept='is'
参考答案:
B
4[填空题]数据库中的封锁机制主要用于事务的___________控制。
参考解析:
并发
5[单选题]文件的逻辑块号到物理块号的变换是由下列()决定的。
A.逻辑结构B.物理结构C.目录结构D.调度算法
参考答案:
C
6[单选题]下列不属于数据库应用系统功能建模内容的是__________。
A.分析与描述目标系统需要完成的功能
B.分析与描述目标系统对响应时间、存储容量的要求
C.分析与描述每项功能活动需要的输入数据、业务规则及输出数据
D.分析与描述目标系统的总体结构、功能活动及各功能活动间的关系
参考答案:
B
7[填空题]DBAS功能概要设计的目标是产生和__________。
参考解析:
软件总体结构软件功能模块
8[单选题]如果事务只提交对数据库所做更新的一部分而不是全部,这违反了事务的
A.原子性B.一致性C.隔离性D.持久性
参考答案:
A
9[填空题]系统试运行主要目的是对()和()进一步测试。
参考解析:
功能、性能
10[单选题]下列关于链式存储结构的`叙述中,()是正确的。
Ⅰ.逻辑上相邻的结点物理上不必邻接
Ⅱ.每个结点都包含恰好一个指针域
Ⅲ.用指针来体现数据元素之间逻辑上的联系
Ⅳ.可以通过计算直接确定第i个结点的存储地址
Ⅴ.存储密度小于顺序存储结构
A.Ⅰ、Ⅱ和ⅢB.Ⅰ、Ⅱ、Ⅲ和ⅣC.Ⅱ、Ⅳ和ⅤD.Ⅰ、Ⅲ和Ⅴ
参考答案:
D
11[单选题]若要查询“选修了课程号为C2的学生的学生号”,正确的表达是().
Ⅰ、pS#(sC#=′C2′(SC.)Ⅱ、sC#=′C2′(pS#(S))
Ⅲ、SELECTS#FROMSCWHEREC#=′C2′
A.仅Ⅰ和ⅡB.仅Ⅱ和ⅢC.仅Ⅰ和ⅢD.都正确
参考答案:
D
12[填空题]在EXISTS谓词子查询中,子查询的执行次数由()决定。
参考解析:
外层表的行数。
13[单选题]分区表是将一个表的数据按水平方式划分为不同的子集,从而可以更快速有效地访问数据子集。
现有表R(A,B)以及针对该表的如下SQL语句,如果基于列A对R进行范围分区,该分区设计方案能提高其性能的SQL语句是()
A.SELECTA,SUM(B)FROMRGROUPBYA
B.SELECTAFROMRORDERBYB,A
C.DELETEFROMRWHEREA<>10
D.SELECTMAX(A)FROMRWHEREB=10
参考答案:
A
14[单选题]下列关于SQLServer2008视图的说法,错误的是()
A.数据库中只存储标准视图的定义,并不存储标准视图的内容
B.如果在视图上创建了唯一聚集索引,则数据库中将保存该视图的内容
C.索引视图的数据源可以是基本表,也可以是已建立的其他标准视图
D.索引视图引用的基本表必须与视图在同一个数据库中
参考答案:
C
15[单选题]在SQLServer2008中,设要为数据库DB1添加一个新的数据文件,该文件的逻辑名为filex,物理文件名为filex.ndf,存储位置为D:
DB1,初始大小和最大大小均采用系统默认值,增长方式为自动增长,每次增加20%。
下列语句中正确的是()
A.ALTERDATABASEDB1ADDFILE(
NAME=filex,
FILENAME=D:
DB1filex.ndf,
FILEGROWTH=20)
B.ALTERDATABASEDB1ADDFILE(
NAME=filex,
FILENAME=D:
DB1filex.ndf,
FILEGROWTH=20%)
C.ALTERDATABASEDB1ADDFILE(
NAME=filex,
FILENAME='D:
DB1filex.ndf',
FILEGROWTH=20)
D.ALTERDATABASEDB1ADDFILE(
NAME=filex,
FILENAME='D:
DB1filex.ndf',
FILEGROWTH=20%)
参考答案:
D
习题4
1.已知数据文件IN38.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中。
请编制函数jsVal(),其功能是:
依次从数组a中取出一个4位数,如果4位数连续大于该4位数以前的5个数且该数是奇数(该4位数以前不满5个数,则不统计),该数必须能被7整除,则统计出满足此条件的数的个数cnt,并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT38.DAT文件中。
注意:
部分源程序已给出。
程序中已定义数组:
a[200],b[200],已定义变量:
cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
#include
#defineMAX200
inta[MAX],b[MAX],cnt=0;
voidwriteDat();
voidjsVal()
{
inti,j;/*定义循环控制变量*/
inttemp;/*定义数据交换是的暂存变量*/
for(i=5;i
if(a[i]%2!
=0&&a[i]%7==0)/*如果当前数是奇数且可以被7整除*/
for(j=i-5;j<=i-1;j++)/*取该数前面的5个数进行比较*/
{
if(a[i]
break;/*如果当前数不满足比前面5个数都大的条件,则跳出循环*/
elseif(j==i-1)/*如果当前数比前面的5个数都大*/
{
b[cnt]=a[i];/*将满足条件的数存入数组b中*/
cnt++;/*并统计满足条件的数的个数*/
}
}
for(i=0;i
for(j=i+1;j
if(b[i]
{
t