ImageVerifierCode 换一换
格式:DOCX , 页数:112 ,大小:743.48KB ,
资源ID:4902295      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4902295.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQLServer数据库程序设计认证试题及答案.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

SQLServer数据库程序设计认证试题及答案.docx

1、SQLServer数据库程序设计认证试题及答案数据库程序设计认证试题及答案 SQL Server 数据库程序设计认证试题 1你是一家公司的数据库开发员,你正在创建一个数据库用来存储 15 所中学运动会的统计信息,这些信息将被 50 个公司用来在他们网站上发布运动会信息。每个公司的 Web站点用不同的格式排列和显示统计表。你需要把数据打包传送给这些公司,你该怎么做?(SQL对 XML支持)A.用包括 FOR XML 子句的 SELECT语句来提取数据 B.使用 sp_makewebtask系统存储过程来产生由 SELECT语句返回的数据的 HTML文本 C.创建数据传输服务数据包来导出数据库的数

2、据,并把这些数据放到 tab 分隔的文本文件中 D.创建一个应用程序,此应用程序用 SQL_DMO提取数据库的数据并把这些数据转换为标准电子数据交换(EDI)文件 答案:A.XML可扩展标记语言,用于在 web 上显示数据的语言,SELECT语句的 for xml 子句可以使查询返回 XML格式,而不是标准的行集结果;Sp_makewebtask创建一项生成 HTML文档的任务,而 XML比HTML更复杂;tab 分隔文件常常在一些电子制表软件中被使用,如Excel;SQL_DMO是 SQL分布式管理对象的缩写,允许用支持自动化或 COM 的语言编写应用程序,以管理 SQL Server 安装

3、的所有部分。2你是一邮件订购公司的数据库开发者,该公司有两台名为CORP1 和 CORP2 的 SQLServer2000 的计算机。CORP1 是台在线处理事务的服务器。CORP2 存放销售的历史数据。CORP2 已经添加了一个连接服务到 CORP1 上。销售部经理请你创建一个是谁购买软盘的用户清单。这清单每个月生成一次,软盘在数据库中用 ID21来表示。你必须从一张名为 SalesHistory的表中检索数据。该表放在本地的 CORP2 Archive 数据库中。你需要在 CORP1 上执行这个请求。你该选择哪个选项?(远程服务器)A.EXEC sp_addlinkedserver COR

4、P2,SQL Server GO SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory WHERE CategoryID=21 B.SELECT CustomerID FROM OPENROWSET(SQLOLEDB,CORP2;p*word,SELECT CustomerID FROM Archive.dbo.SalesHistory WHERE CategoryID=21)C.SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory WHERE CategoryID=21 D.EXEC

5、sp_addserver CORP2 GO SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory WHERE CategoryID=21 答案:C.SELECT CustomerIDFROM SalesHistoryWHERE CategoryID=21,由于表 SalesHistory是在远程的 CORP2 服务器上,并且也已经建立了连接,所以可以直接使用分布式查询。sp_linkedserver 是建立与服务器的连接;OPENROWSET是一种使用 OLE DB 连接并访问远程数据的一次性的、特殊的方法,无需设置链接服务器;sp_add

6、server 定义本地或远程服务器的名称 3你是一名 Trey Research的数据库开发者,你创建两个事务来帮助将雇员的数据信息写入公司的数据库中。一个事物将雇员的姓名和地址插入数据库中,这个事务很重要,另外一个事务将雇员的人数统计插入到数据库中,这个事务不那么重要。在数据库使用的高峰期,在服务器有时遇到错误的期间管理员会通知。每次发生时,数据库服务器会随机地终止其中一个事务。你必须确定当服务器终止其中一个事务时,它不会终止比较重要的那个事务。你应该做什么?(事务处理)A.为插入雇员姓名和地址信息的那个事务设置 DEADLOCK_PRIORITY to LOW 选项 B.为插入雇员人数信息

7、的那个事务设置 DEADLOCK_PRIORITY to LOW 选项 C.为插入雇员姓名和地址信息的那个事务添加一个检查 1205 服务器错误的条件代码。如果这个错误被遇到,重新启动该事务。D.在事务中添加一个 ROWLOCK优化提示给 SQL数据操作语句。E.为插入雇员姓名和地址信息的那个事务设置隔离级别给 SERIALIZABLE.答案:B.Set deadlock_priority to low 可以指定当前事务为首选死锁牺牲品;错误号 1205 是事务成为死锁牺牲事务被中止后返回的信息,为插入雇员姓名和地址信息的那个事务添加条件代码,比较没有效率 4你是公司的 SQL Server

8、2000 在线事务处理数据库的开发者.很多表中有一千甚至更多行。所有的表都有一聚集索引。大量地访问表至少要有一个非聚集索引。在数据库服务器上数据文件将包含有 2 个RAID阵列。你想要排列这些表和索引以确保最佳的输入/输出性能。你在每个 RAID阵列上创建一个文件组,你接下来应该做什么?(文件组管理)A.把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表的所有索引放在不同的文件组中。B.把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表的非聚集索引放在同一个文件组中。C.把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的非聚集索引放在不同的文件

9、组中。D.把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的非聚集索引放在同一个文件组中。答案:C 为了提高查询效率,将经常查询的表放不同的文件组中,而且将非聚集索引和它的表也放入不同的文件组中。5.你是公司 SQL Server 2000 数据库的开发者。你更新了数据库里几个存储过程来创建新的月终销售部门的报表。此存储过程包括综合查询从三个或者更多的数据表中检索数据。所有数据库中的表至少有一个索引。用户反映新的月终报表比前一个版本的报表运 行速度慢很多。你想改善报表的性能。你该怎么做?A.创建一个脚本,包括每个存储过程中的数据定义语言(Data Definition Lan

10、guage),使用这个脚本作为索引优化向导(Index Tuning Wizard)的工作量文件 B.在 SQL部署跟踪器中捕获每个存储过程的执行,使用跟踪文件作为索引优化向导(Index Tuning Wizard)的工作量文件 C.更新存储过程使用的数据表统计索引 D.在 SQL查询分析器中执行每个存储过程,并使用 Show Execution Plan选项 E.在 SQL查询分析器中执行每个存储过程,并使用 Show Server Trace 选项 正确答案:E 显示服务器跟踪命令提供了对信息的访问,此信息用于确定查询对服务器方的影响。如果显示服务器跟踪命令在执行查询时启用,则该命令显示

11、跟踪窗格,此窗格提供有关事件类、子类、整型数据、文本数据、数据库 ID、持续时间、启动时间、读、写以及 CPU 使用的信息。显示服务器跟踪可以用来帮助调整查询语句、存储过程和脚本,显示在查询分析器中。索引优化向导内容参阅联机丛书。6你是一家进口商的数据库管理员,你正在创建一个存储订单信息的数据库。订单将会在一个 client/server 应用系统中录入,每次一个新的订单录入时,必须分配一个唯一的订单编号,订单编号必须以升序分配。每天平均有 10000 个订单被录入。你创建了一个新的名为 Orders 的表,并在这个表里添加了一个 OrderNumber 列。接下来你该做什么?(表的属性)A.

12、设置这个列的数据类型为 uniqueidentifier B.设置这个列的数据类型为 int,并为这个列设置 IDENTITY属性 C.设置这个列的数据类型为 int,创建一个用户定义的方法来选择表中最大的订单编号 D.设置这个列的数据类型为 int,创建一个 NextKey表,并被这个表添加一个 NextOrder 列,设置 NextOrder 列的数据类型为 int,创建一个存储过程来检索并更新 NextKey中的值 答案:B.7你是一个技术培训中心数据库开发者。通常地,用书面管理雇员的学历、教师、课程和教室安排。这个培训中心希望通过开发一个数据库录入信息来实现无纸化记录。你为这个数据库设

13、计表,设计如图 你想缩短查询的响应时间和将数据冗余最小化。你应该做什么?(数据库设计)A创建一个名为 Instructors 的新表。包含 InstructorID、InstructorName、OfficePhone 等字段,为添加一个 Courses 表添加一个名为 InstructorID的字段。B将 Classroom中的所有字段复制到 Courses,并删除Classroom表。C移除 Courses 表的主键约束用一个基于 CourseID和CourseTitle 的主键约束来代替。D移除 ClassroomID字段,并在 ClassroomNumber 和 ClassTime字段

14、上以主键约束做基础。答案:A.8你设计了一个包含客户订单的数据库。客户每次下订单时都将订购多种的产品。你再观察如图所示的数据库设计:你想缩短查询的响应时间和将数据冗余最小化。你应该怎么做?(数据库设计)A创建一个新的名为 OrderDetail 的订货表,为该表添加OrderID、ProductID、Quantity字段。B在 Orders 表的 OrderID、ProductID字段上创建一个混合的主键约束 C从 Orders 表中除去 ProductID、Quantity 这两个字段.D在 Orders 表的 OrderID上创建一个唯一约束.E将 UnitPrice 这个字段从 Prod

15、ucts 表移动到 Orders 表.答案:A,C.9您是一出版社公司的数据库开发者。你创建以下存储过程来汇报某本书从年初至今的销售情况 CREATE PROCEDURE get_sales_for_title title varchar(80),ytd_sales int OUTPUT AS SELECT ytd_sales=ytd_sales FROM titles WHERE title=title IF ROWCOUNT=0 RETURN(-1)ELSE RETURN(0)您创建一个脚本来执行这个存储过程。如果该存储过程成功执行,它应报道书的销售情况。如果失败,则将返回如下信息:“No

16、 Sales Found”您该怎样创建该脚本?(存储过程)A.DECLARE retval int DECLARE ytd int EXEC get_sales_for_title Net Etiquette,ytd IF retval 0 PRINT No sales found ELSE PRINT Year to date sales:+STR(ytd)GO B.DECLARE retval int DECLARE ytd int EXEC get_sales_for_title Net Etiquette,ytd OUTPUT IF retval 0 PRINT No sales fo

17、und ELSE PRINT Year to date sales:+STR(ytd)GO C.DECLARE retval int DECLARE ytd int EXEC get_sales_for_title Net Etiquette,retval OUTPUT IF retval 0 PRINT No sales found ELSE PRINT Year to date sales:+STR(ytd)GO D.DECLARE retval int DECLARE ytd int EXEC retval=get_sales_for_title Net Etiquette,ytd OU

18、TPUT IF retval 0 PRINT No sales found ELSE PRINT Year to date sales:+STR(ytd)GO 答案:D 关键点在于要用变量来接受存储过程执行的结果,通过对结果的判断来确定打印出的信息 10您是一集装箱制造公司的数据库开发者。您的公司生产的集装箱是一些不同型号的。存储集装箱信息的表如下所示有 Size、Container 和 Shape 表。数据存储在表中的示例如图所示 在表中数据存储的实例如图中资料所示,集装箱的大小定期地改变。数据库用户经常需要一集装箱的体积。集装箱的体积是根据 shape 和 size 表中的信息计算的。您要

19、隐藏计算的详细过程,以使体积可以很容易的从对 containe 表的 SELECT语句中得出,你应该做什么?(存储过程/函数/触发器的不同用法)A.创建一个以 ContainerID 为输入参数并且能够返回集装箱的体积的用户自定义函数。B.创建一个以 ContainerID 为输入参数并且能够返回集装箱的体积的存储过程.C.为 Container 表添加一个名为 volume 的字段。创建一个触发器来计算和存储体积当有一个新的集装箱插入表中的时候.D.给 Container 表添加一个计算列来计算集装箱的体积。答案:A.题意关键在于要在查询语句中实现返回体积的结果,只有函数能在查询语句中使用。

20、11你是一医院数据库的开发者,医院一共有 26层,每一层有 4个存放设备的房间。你设计一个可处理设备的控制数据库。某些可处理设备须每次都存储。当使用设备时,就扫描条形码用来减少数据库里的物品的数量。供应者应在可用设备数量少于设备房间设置的最小值时被呼叫。你该怎么做?A.创建一个用来更新 inventory表的存储过程。如果结果小于重新储存量,使用 xp_logevent存储过程来呼叫。B.在 inventory表上创建一个 INSTEAD OF UPDATE触发器。如果 inserted 表中的数量小于重新储存量,使用 SQLAgentMail 来发送e-mail 信息给管理者 C.在 inv

21、entory表上创建一个 FOR UPDATE触发器.如果 inserted表中的数量小于重新储存量,使用 xp_sendmail 系统存储过程来呼叫。D.设置 SQL server 作业每隔 4小时运行一次,配置该作业使用the notify_level_page=2 argument.配置该作业让它测试列的大小它将触发供应者被呼叫。答案:C.12您是一数据库的开发者,该数据库用来报告时间。通常平均每次有 5 个用户同时访问该数据库,且查询响应时间小于 1秒钟。然而,在星期五下午和星期一早上,当大多数雇员输入他们的时间,该数据库使用率增加到平均每次 50 个用户。在这段时间内,查询响应时间增

22、加到平均 15 到 20 秒。您要找到响应速度减慢的原因并解决问题。你该怎么做?(事务和锁的应用)A.用 sp_lock和 sp_who 系统存储过程找出被锁定的资源和占用锁的进程。用这些信息来识别和重设引起锁的事务。B.用系统表 sysprocesses 和 sysobjects 找出死锁的资源并确定访问该资源的进程。C.用系统表 sysprocesses 找出哪个资源正在被访问。在所有被访问的表的主键上添加聚集索引。D.用 sp_monitor 系统存储过程来确认增加的查询时间影响了哪个进程。为该进程设置一个限制性较小的事务隔离级别。答案:A.影响查询响应速度的原因在于进程所需的资源被锁,

23、sp_lock可以索取锁的信息,sp_who 可以列出当前进程信息 13你是一家保险公司的数据库开发人员,公司有一个多层应用系统用来录入关于公司保险单和保险单所有者的数据。保险单所有者信息存储在 Owners 表中,用来创建这个表的脚本如下所示:CREATE TABLE Owners(OwnerID int IDENTITY(1,1)NOT NULL,FirstName char(20)NULL,LastName char(30)NULL,BirthDate date NULL,CONSTRAINT PK_Owners PRIMARY KEY(Owner ID)当保险单所有者的信息被录入时,如

24、果所有者的出生日期没有被包括进来;数据库需要 产生一个自定义的错误信息在数据录入系统中显示。你需要为数据库设计一个方法能够 确认出生日期被提供,并在没有提供出生日期时产生一个错误,你该怎么做?A.在 BirthDate 列添加一个 CHECK约束 B.创建一个规则,并把这个规则和 BirthDate 列绑定 C.修改 Owners 表,使 BirthDate 列不允许为空 D.为 Owners 表创建一个触发器,使 BirthDate 列有效 答案:D.CHECK约束/规则都无法产生错误的信息项目,只有触发器可以。14你是一家大型 brewery的数据库开发人员。每一家工厂和设备的信息存储在一

25、个名为 Equipment的数据库中.这工厂的信息存放在一张名为 Location的表中,设备的信息存放在一张名为 Parts 的表中。用来创建这些表所使用的脚本如下所示:CREATE TABLE Location(LocationID int NOT NULL,LocationName char(30)NOT NULL UNIQUE,CONSTRAINT PK_Location PRIMARY KEY(LocationID)CREATE TABLE Parts(PartID int NOT NULL,LocationID int NOT NULL,PartName char(30)NOT N

26、ULL,CONSTRAINT PK_Parts PRIMARY KEY(PartID),CONSTRAINT FK_PartsLocation FOREIGN KEY(Location ID)REFERENCES Location(LocationID)The brewery可以用来关闭一些现有的工厂和打开一些新的工厂。当一家工厂被关闭时,有关工厂和所有设备的信息将从数据库中删除。你创建一个存储过程来完成这个操作。名为 sp_DeleteLocation 存储过程如下所示:CREATE PROCEDURE sp_DeleteLocation LocName char(30)ASBEGIN DE

27、CLARE PartID int DECLARE crs_Parts CURSOR FOR SELECT p.PartID FROM Parts AS p INNER JOIN Location AS 1 ON p.LocationID=l.LocationID WHERE l.LocationName=LocName OPEN crs_Parts FETCH NEXT FROM crs_Parts INTO PartID WHILE(FETCH_STATUS -1)BEGIN DELETE Parts WHERE CURRENT OF crs_Parts FETCH NEXT FROM cr

28、s_Parts INTO PartID END CLOSE crs_Parts DEALLOCATE crs_Parts DELETE Location WHERE LocationName=LocName END 这个存储过程将要花费比想像中还要长的时间来执行。你需要减少这个存储过程的执行时间,你该怎么做?(游标的使用)A.在定义过程中添加 WITH RECOMPILE选项.B.用单一的 DELETE 语句取代游标操作 C.在过程的开头添加一个 BEGIN TRAN语句并在过程的结尾添加 COMMIT TRAN语句 D.为这个过程设置事务处理隔离级别 READ UNCOMMITTED E.为

29、 Parts 表的 PartID 字段添加一个非聚集索引.答案:B.游标操作是在使用查询语句多个结果集中的一个值的时候起作用,它将耗费大量的时间,本题完全可以用两句 DELETE 语句就将Location表和 part表删除。无需使用游标 15你是一家保险公司的数据库开发者,公司的保险单信息存储在一个 SQL Server 2000 数据库中,你使用如下所示的脚本为数据库创建了一个名为Policy 的表:CREATE TABLE Policy(PolicyNumber int NOT NULL DEFAULT(0),InsuredLastName char(30)NOT NULL,Insure

30、dFirstName char(20)NOT NULL,InsuredBirthDate datetime NOT NULL,PolicyDate datetime NOT NULL,FaceAmount money NOT NULL,CONSTRAINT PK_Policy PRIMARY KEY(PolicyNumber)每次公司卖出一份新的保险单时,policy表就要增加一条记录,并赋予其一个新的保单号,你将怎么做?A.创建一个 INSTEAD OF INSERT触发器来产生一个新的保单号,并把这保单号插入到表中 B.创建一个 INSTEAD OF UPDATE触发器来产生一个新的保单号

31、,并把这保单号插入到表中 C.创建一个 AFTER UPDATE触发器来产生一个新的保单号,并把这保单号插入到表中 D.用 AFTER INSERT 触发器来代替 DEFAULT约束,产生一个新的保单号,并把这保单号插入到表中 答案:A 16你是一家通讯公司的数据库开发队的一个成员。在队上的另外一个开发者,Marc,在一个名为 Corporate 的数据库中创建了一张名为 Customers 的表。因为表包含机密的信息,他已经授权允许查询该表的只有队里的其他成员。你正在开发一个应用程序用来允许销售部门的职员查看 Customers 表的一些信息。这些职员是销售数据库角色的所有成员。为了支持这一

32、个应用程序,你在 Customers 表上创建一个被命名的 vwCustomers 的视图。在创建视图之后,你授权具有销售角色的成员允许查询。当销售角色的成员尝试从视图中取回数据的时候,他们接收以下错误信息:SELECT permission denied on object Customers,database Corporate,ownerMarc.你必须确定具有销售角色的成员只能使用 vwCustomers 视图来访问 Customers 表的数据。你应该做什么?(用户角色管理)A.添加一个销售角色到固定的系统管理员服务器角色中。B.将 vwCustomers 视图的所有权转移到销售角色

33、中。C.通知 Marc 将 Customers 表的所有权转移给销售角色的每个成员。D.通知 Marc 授予用户查询 Customers 表的许可。E.删除 vwCustomers 视图。通知 Marc 重建视图并且授予销售角色的用户查询视图的权限。答案:E.这是一个破坏所有权链的例子,curstomers 表的所有者是 Marc,视图 vwCustomers 的所有者是我,我创建的视图依赖 Marc 拥有的curstomers 表。此时如果 Marc 没有开放 curstomers 表的权限,则我授权的销售角色也将无法使用视图。17你正在为你的公司设计一个 SQL Server 2000 销售数据库,它能够被客户端的应用程序访问。客服人员和销售人员对数据库中的所有表格应具有插入,删除和查询的权限。另外,使用客户端程序时候,销售人员将由会把数据库中的表通过 Excel 导出成图表。客服人员

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2