sqL.docx
《sqL.docx》由会员分享,可在线阅读,更多相关《sqL.docx(34页珍藏版)》请在冰豆网上搜索。
sqL
第6章创建和优化索引
1.小王管理一个名为DB1的数据库,他发现对数据库DB1中表Table1的扫描导致查询很慢。
Table1是一个被频繁使用的大表。
小王确定查询包含以下语句:
SELECTcol1,col2FROMtable1WHEREcol3=。
现在,小王需要提供最优的查询性能,并且要保证Table1对用户保持可用性。
他应当怎么做?
D
A.更新DB1数据库中Table1表的所有统计信息
B.在DB1上使用CREATESTATISTICS语句在Table1第三列上创
建缺少的统计信息
C.设置优先权推进服务器选项为1
D.执行下面的语句:
USEDB1GOCREATEINDEXindex1ON
table1(col3)INCLUDE(col1,col2)WITH(ONLINE=ON)GO
E.执行下面的语句:
USEDB1GOCREATEINDEXindex1ON
table1(col3,col2,col1)
2.A的网站包含一个客户用来发送公司及其产品等反馈信息的页面。
小王将这些反馈信息存储在SQLServer2005数据库中Feedbak表的Commends列中。
他需要执行全文本搜索以在这些反馈信息基础上生成报告。
小王可以采取哪两种措施?
D
A.在Comments列上创建一个非聚集索引B.执行USEMasterTransact-SQL语句
C.创建一个全文本目录D.在Comments列上创建一个全文本索引
3.小王在银行工作,他使用SQLServer2005数据库来存储来自客户银行事务的项目。
银行每天要处理50000个事务。
应用程序要求在TransactionID列上有一个聚集索引。
因此,小王需要创建一张表以支持一个有效的报告解决方案,该解决方案按日期对事务进行查询。
哪两种方法可以达到这个目的?
AD
A.在日期列上放置一个非聚集索引B.在日期列上添加一个唯一的聚集索引
C.每个分区对应一个文件组,每个文件组访问一个不同的驱动器
D.创建一个分区方案对数据按日期进行分区
4.小王是一家电信公司的数据库管理员,他准备在一张顾客信息表Customers上创建索引来优化查询。
已知表上最经常被查询到的列有三个,一个是客户的ID,即customerID,每个ID值都是不重复的;第二个是用户类型customerType,总共有10种可能值;另外一个是客户所用的设备customerDevice,有200种可能值,那么应该创建怎么样的索引才最有助于优化查询?
D
A.分别在三个列上创建非聚集索引 B.分别在三个列上创建聚集索引
C.customerID、customerDevice、customerType上创建非聚集索引
D.customerID、customerDevice、customerType上创建聚集索引
E.customerType、customerDevice、customerID上创建非聚集索引
F.customerType、customerDevice、customerID上创建聚集索引
6.在一个非聚集索引的B树中,已知它有四级(根结点为第一级,叶级为第四级)。
若其中有一级的索引指针指向的是真实的行所在的位置,请问它处于第几级?
D
A. 第一级B. 第二级C. 第三级D. 第四级
7.在一张客户信息表中,已知在客户的姓的列上有非聚集索引,且它有三级(根结点为第一级,叶级为第三级)。
假如在其上使用非聚集索引定位一条记录要进行N次的页面读取。
如果在其客户ID列上新建一个聚集索引,且它有四级(根结点为第一级,叶级为第四级),在其上使用非聚集索引定位一条记录要进行M次的页面读取。
则有:
B
A.M比N多2B.M比N多3C.M比N多4D.N比M多2
E.N比M多3F.N比M多4
第7章实现数据完整性
1.下列哪些情况可以使用CHECK约束?
AC
A.存储在列中的数据对其可包含的值有自然的限制
B.业务逻辑规定列中存储的数据必须是唯一的
C.表列之间存在的关系限制列可包含的值
D.一列或多列中的数据只能容纳包含在同一个表或另一个表的某些列中的值
2.A使用一个SQLServer2005数据库。
每天晚上来自小王合作伙伴的客户数据被导入到Customers表格。
小王需要确保已经存在于Customers表格的客户记录得到更新,如果记录不存在,数据需要被插入到Customers表格。
小王应当怎么做呢?
B
A.创建一个FOR触发器B.创建一个INSTEADOF触发器
C.创建一个AFTER触发器D.创建一个DDL触发器
3.开发部门的一职员让小王向Product表格添加一个新的名为CommissionRate的列。
所有产品的实际佣金率在这个时候是不知道的,每个产品的默认佣金率是12%。
这个比率在必要时可以修改。
小王向表格添加新列,并配置默认值。
他应当怎么做?
D
A.创建一个INSERT触发器,为表格的每项赋给默认值
B.创建一个验证数据的CHECK约束,为表格的每项赋给默认值
C.创建一个UPDATE触发器,为表格的每项更新默认值
D.创建一个DEFAULT约束,通过WITHVALUES语句为表格的每项赋给默认值
4.如何阻止用户向表格中的国家名称列中输入无效的缩写名称?
C
A.创建DEFAULT约束B.创建UNIQUE约束C.创建CHECK约束
5.在学生管理系统中使用下面的学生信息表:
CREATETABLE学生信息表
(学号char(8)PRIMARYKEYNONCLUSTERED,
姓名varchar(20)NOTNULL,
身份证号码varchar(30)NOTNULL,
出生日期datetimeNULL,
系号char
(2)NOTNULL
)
学生的身份证号码是唯一的。
小王想把每个学生的信息按照身份证号码的顺序物理地存放在数据库文件中。
下面哪个约束可以完成该任务?
A
A.UNIQUECLUSTEREDB.UNIQUENONCLUSTERED
C.PRIMARYKEYCLUSTEREDD.PRIMARYKEYNONCLUSTERED
第8章实现视图
1.下列情况中,哪个不适宜用索引视图?
C
A.查询性能收益大于维护开销B.底层数据更新不频繁C.底层数据更新很频繁
D.查询执行大量处理多行或由很多用户频繁执行的联接和聚合操作
2.小王正在创建一个连接SQLServer2005数据库中Customers和Orders表格的视图。
他需要确定视图不受对潜在表格架构的修改的影响。
小王想通过最简便的方法达到这个目的,他应当怎么做?
C
A.在表格上创建CHECK约束
B.创建DDL触发器,使得如果表格的修改影响到视图中的列的时候,对表格的修改进行回滚
C.创建视图,指定WITHSCHEMABINDING选项
D.创建视图,指定WITHCHECK选项
3.小王负责维护一个SQLServer2005数据库。
公司的商务分析人员通常使用一个名为v_CustomerSales的视图去连接数据库中的Customers和Sales表格。
他们使用视图合计每月每个客户总的销售量。
小王需要提高视图的查询性能,他应当怎么做?
B
A.使用Customers和Sales表格的一个外部连接更新视图
B.在v_CustomerSales视图上创建一个聚集索引
C.创建两个不包含任何连接视图的单独的视图,一个是Customers表格的名为v_Customers的视图,另一个是Sales表格的名为v_Sales的视图
D.为商务分析人员创建一个使用v_CustomerSales视图的存储过程
4.小王负责维护一个电信公司的数据库,不久前他在数据库上创建了一个视图vwOrders,并且在创建视图时使用了WITHSCHEMABINDING选项。
现在他要修改这个vwOrders视图,增加一个WITHCHECKOPTION的选项。
要求不能改动原有的选项,小王要怎么做呢?
(双项选择)AC
A. 删除vwOrders,并用WITHSCHEMABINDING和WITHCHECKOPTION选项重建视图
B. 删除vwOrders,并用WITHCHECKOPTION选项重建视图
C. 改变视图,并用WITHSCHEMABINDING和WITHCHECKOPTION选项
D. 改变视图,并用WITHCHECKOPTION选项
第9章实现存储过程和函数
1.关于创建存储过程,下列说法中哪个是错误的?
DC
A.设计每个存储过程以完成单项任务
B.用相应的架构名称限定存储过程所引用的对象名称
C.尽可能减少临时存储过程的使用D.对所有存储过程使用不同的连接设置
2.关于函数,下列说法中哪个是错误的?
C
A.函数是由一条或多条Transact-SQL语句组成的例程
B.标量函数返回单个数据值,并且其类型是在RETURNS子句中定义的
C.内联表值函数不能够返回表
D.多语句表值函数返回由一条或多条Transact-SQL语
句构建的表
3.A有一台SQLServer2005计算机。
小王的任务是收集当前登录的用户的信息。
他要创建一个函数,该函数返回一个特定用户活动时间的数量信息。
哪两种可能的方法可以达到这个目的?
D
A.创建一个返回一列值的函数,这些值描述给定用户的登录次数
B.创建一个返回一列值的函数,这些值描述比当前用户登录时间长的用户
C.创建一个返回数量值的函数,这个值描述用户当天登录的小时数
D.创建一个返回数量值的函数,这个值描述用户当月登录的小时数
4.关于执行上下文,下列说法中哪个是错误的?
D
A.执行上下文是代码在执行时所使用的标识
B.调用模块(如存储过程或函数)的用户或登录名通常决定了执行上下文
C.可在存储过程或函数中使用EXECUTEAS子句来设置在其执行上下文中使用的标识
D.可在存储过程或函数中使用CREATEAS子句来设置在其执行上下文中使用的标识
5.小王管理一台SQLServer2005数据库,这个数据库为客户提供银行信息。
小王想让客户看到一个银行报告,这个报告包含由第三方提供的Web服务以及关于现在投资信息的数据库的数据。
当报告执行的时候,投资信息必须是最新的。
小王需要创建合适的对象来支持报告,他应当怎么做?
D
A.通过使用FORXMLAUTO子句把数据库中的数据发布成一个XMLWeb服务
B.为每个客户创建一个存储银行信息的表格,创建一个触发器使得当数据被插入到连接来源Web服务的数据的表格时触发
C.创建一个Transact-SQL存储过程,使用临时表格为每个客户存储银行信息,用来自Web服务的值更新表格
D.让A的一开发人员创建一个调用远程Web服务的程序集,通过使用程序集创建一个CLR函数,调用CLR函数并联合数据库中的银行信息的结果
6.小王正在为一家抵押公司创建一个SQLServer2005数据库,这个数据库将支持一个供1000个用户同时操作的基于Web的应用程序,这个应用程序必须快速地显示精确计算的结果,例如计算抵押付款和分期付款的时间。
小王需要确保数据库计算进程尽可能地快速和有效,他应当怎么做?
C
A.在应用程序中执行参数化的Transact-SQL查询
B.在数据库中执行Transact-SQL存储过程
C.在数据库中执行CLR存储过程D.执行分布式的Web服务
第10章使用XML
1.下列说法中哪个是正确的?
BC
A.RAW模式查询不能包括聚合列或GROUPBY子句
B.EXPLICIT模式查询中以指定的自定义格式设置结果XML数据的格式
C.PATH模式提供了一种简单的用于混合元素和属性的方法,并引入额外的嵌套以表示复杂属性D.AUTO模式查询支持聚合列和GROUPBY子句
2.小王正在写一个返回SQLServer2005数据库表格数据的查询语句,这些数据有的存储在相关列中,有的存储在XML数据类型列中。
小王需要查询返回一个相关结果集,结果集包含来源于相关区域的数据和来源于XML数据类型列的属性值,他应该使用哪两种XML数据类型方法?
AD
A.value()方法B.exist()方法C.query()方法D.nodes()方法E.modify()方法
3.下列说法中哪个是错误的?
A
A.辅助XML索引是主XML索引的聚集索引
B.在创建XML索引时,不能使用IGNORE_DUP_KEY和ONLINE选项
C.不能在同一个表上有同名的XML索引和非XML索引
D.XML索引是包含XML数据类型的表列的索引
4.小王正在创建联机目录应用程序,该程序将用于在公司的网站上显示产品的信息。
产品数据存储在SQLServer2005数据库中,数据是以相关类型存储的,但是这些数据必须使用FORXML以XML文档格式传递到应用程序。
对应用程序进行测试后小王发现并不是所有的与他查询相匹配的项都显示在XML文档中,只有那些在架构中所有元素都有值的产品才显示。
小王需要修改他的Transact-SQL子句使得与他查询相匹配的所有产品都显示在XML文档中。
小王应该怎么做呢?
B
A.向包含产品数据的表中添加一个XML索引
B.在查询中向ELEMENTS指令添加一个XSINIL参数
C.向查询添加一个HAVING子句D.向查询中添加子句的取代值
5.小王是一家公司的数据库开发员.他的数据库中有一张表是用来存储
联系信息的,这些联系信息被存储在以下列中:
ID,FirstName,Last-
Name和Company。
现在,小王要返回一个XML结构来把数据发布到一
个Web页上。
这个XML结构大致如下:
company
1
...
下列哪个查询可以返回这样的XML结构呢?
C
A.SELECTContact.CompanyAS[CompanyName],COUNT(Contact.ID)AS[NumberOfContacts],
FirstName,LastNameFROMContactsASContact
GROUPBYCompany,FirstName,LastName
FORXMLAUTO,ELEMENTS,ROOT('ContactList')
B.SELECTContact.CompanyAS[CompanyName],COUNT(Contact.ID)AS[NumberOfContacts],
(
SELECTFirstName,LastNameFROMContacts
WHEREContact.Company=Contact.Company
FORXMLAUTO
)AS[ContactList]
FROMContactsASContact
GROUPBYContact.Company
FORXMLAUTO
C.SELECTContact.CompanyAS[CompanyName],COUNT(Contact.ID)AS[NumberOfContacts],
(SELECTFirstName,LastNameFROMContactsWHEREContacts.Company=Contact.Company
FORXMLAUTO,TYPE,ROOT('Contacts'))FROMContactsASContact
GROUPBYContact.Company
FORXMLAUTO,ELEMENTS,ROOT('ContactList')
D.SELECTContact.CompanyAS[CompanyName],COUNT(Contact.ID)AS[NumberOfContacts],
(SELECTFirstName,LastNameFROMContacts
WHEREContacts.Company=Contact.Company
FORXMLAUTO,ELEMENTS,TYPE,ROOT('Contacts'))FROMContactsASContact
GROUPBYContact.Company
FORXMLAUTO,ROOT('ContactList')
6.下列XML数据类型执行的方法中允许你执行下面的
XQuery语句的是AD____。
for$cin/companies
where$c/company/@profit>1000000
return
{data($c/company/@profit)}
A.exist()B.modify()C.value()D.query()
第11章灾难恢复
1.一个工程师报告说他在SQLServer2005数据库中插入新的销售事务时发生错误。
小王对错误进行了研究,发现在这个数据库中,一个开发人员意外地删除了表中的一些数据,而这个表对于事务处理是关键性的。
这个数据库使用完全恢复模型。
现在,小王需要恢复这个表。
在不影响数据库中其他数据的情况下,要达到这个目标,他应当如何做?
A
A.备份当前事务日志。
以一个不同的名字恢复数据库,恢复到数据丢失前的点上,把表格备份复制到原始数据库中
B.备份当前事务日志。
把数据库恢复到数据丢失前的点上
C.从现有的备份文件中将数据库恢复到数据丢失前的点上
D.把数据库恢复到最后完全备份的点上
2.小王负责一SQLServer2005数据库的备份工作。
备份文件被写入到一个连接到数据库服务器的磁带驱动器中。
将来,小王的部门将安装一台新的备份服务器,所有备份文件都将被写到新的服务器的磁盘上。
为了简化维护,小王需要配置备份工作,使得在新的服务器上需要进行的备份的更改最小。
小王应当怎么做?
B
A.配置备份工作为写入到一个内部磁盘中。
当新的备份服务器可用时,更改备份工作
B.配置备份工作为写入到引用磁带驱动器的备份设备
C.配置备份工作为直接写入到磁带驱动器中,把磁带驱动器移动到新的备份服务器上
D.配置备份工作为写入到一个内部磁盘中,在新的服务器安装就绪后更改备份工作为使用备份设备
3.在每天午夜时候,名为DB1的数据库自动创建一个完整的备份,在每天的10:
00和16:
00,DB1会进行两次不同的备份,而在中午,数据库的快照则会被创建。
一个开发人员报告说在12:
30的时候他偶然删除了DB1数据库中的Pricelist表。
Pricelist表的最后一次更新是在一周前。
小王要恢复Pricelist表。
他想用最简便的方法达到这个目标,同时他也必须使丢失的数据最少。
小王应当怎么做?
D
A.把最近的备份恢复到一个新的名为DB1bak的数据库上,使用最近的差异备份,把Pricelist表从DB1bak复制到DB1上
B.删除所有数据库快照(除了最近备份的那个),从最近的数据库快照中恢复DB1
C.从最近的备份中恢复DB1,使用最近的差异备份
D.把Pricelist表从最近数据库快照中复制到DB1中
4.发生以下哪些情况时,通常从完整数据库备份中还原?
ABD
A.数据库的物理磁盘损坏
B.整个数据库被损坏或删除
C.恢复被删除的行或撤销更新
D.数据库的相同副本被还原到不同的SQLServer实例
5.小王从04:
00开始每隔四小时对AdventureWorks数据库执行一次差异备份,每天午夜执行一次完全备份。
在中午执行的差异备份中包含什么数据?
B
A.自午夜以来发生变化的数据页B.自午夜以来发生变化的存储区
C.自08:
00以来发生变化的数据页D.自08:
00以来发生变化的存储区
6.小王对AdventureWorks数据库执行一个在午夜结束的完全备份,而差异备份自04:
00开始每四小时执行一次,事务日志备份每五分钟执行一次。
那么09:
15执行的事务日志备份包含什么样的信息呢?
B
A.自09:
10以来发生的所有事务B.自09:
10以来提交的所有事务
C.自09:
10以来发生变化的页D.自09:
10以来发生变化的存储区
第12章管理安全性
1.小王是一个自行车生产厂的数据库开发人员,他创建了一个用来访问AdventureWorks数据库数据的Web应用程序,这个应用程序连接到一个运行SQLServer2005的数据库服务器上,该应用程序的一个功能是使管理员看到在当前班次生产了多少辆自行车。
用户Tom在dbo计划中创建了名为usp_GetPersonData的存储过程,小王创建了一个HTTP端点来开放一个名为PersonData的Web方法,这个Web方法允许客户应用程序访问存储过程。
小王使用下面的语句创建这个端点:
CREATEENDPOINTSQLEP_AWPersons
ASHTTP(PATH='/AWpersons',AUTHENTICATION=(INTEGRATED),PORTS=(CLEAR),SITE='SQL1')
FORSOAP(WEBMETHOD''(NAME=''),BATCHES=DISABLED,WSDL=DEFAULT,DATABASE='TestKing',NAMESPACE='http:
//Adventure-Works/Persons')
小王要指定正确的WEBMETHOD和NAME来创建端点,他应该使用下列哪个命令?
B
A.WEBMETHOD'http:
//www.adventure-/PersonData'NAME='TestKing.dbo.usp_GetPersonData'
B.WEBMETHOD'PersonData'NAME='TestKing.dbo.usp_GetPersonData'
C.WEBMETHOD'PersonData'NAME='TestKing.Tom.usp_GetPersonData'
D.WEBMETHOD'TestKing.PersonData'NAME='TestKing.Tom.usp_GetPersonData'
2.小王正在创建用于向