数据库题库含答案_第1页
数据库题库含答案_第2页
数据库题库含答案_第3页
数据库题库含答案_第4页
数据库题库含答案_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.你是一数据公司的数据库开发者,你创建了一个用来存储15个不同高校运动会统计表的数

据库。这些信息将被用在50家公司的网页设置上。每个公司的WEB设置以不同的格式来安排和

显示这些统计表。你需要组装这些数据传送到这些公司去,你应该做什么?

A.用包含FORXML子句的SELECT语句来提取数据。

B.使用sp_makewebtask系统存储过程,用select语句从数据的返回中产生HTML。

C.创建数据转换服务包从数据库中输出数据并且将数据放在带有分隔标记的文本文件中。

D.使用SQL_DMO来创建一个应用程序把数据从数据库中取出并转换它.

答案:A.

2.你是一邮件订购公司的数据库开发者,该公司有两台名为C0RP1和C0RP2的SQLServer2000

的计算机。C0RP1是台在线处理事务的服务器。C0RP2存放销售的历史数据。C0RP2已经添加了

一个连接服务器到C0RP1上。销售部经理请你创建一个是谁购买软盘的用户清单。这清单每个

月生成一次,软盘在数据库中用ID21来表示。你必须从一张名为SalesHistory的表中检索数

据。该表放在本地的C0RP2档案数据库中。你需要在CORP1上执行这个请求。你该选择哪个选

项?

A.EXECsp_addlinkedserver'CORP2','SQLServer'

GO

SELECTCustomerlDFROMC0RP2.Archive,dbo.SalesHistory

WHERECategorylD=21

B.SELECTCustomerlDFROMOPENROWSET(<SQL0LEDB,,'C0RP2';'p*word','SELECT

CustomerlDFROMArchive,dbo.SalesHistoryWHERECategorylD=21')

C.SELECTCustomerlDFROMC0RP2.Archive,dbo.SalesHistory

WHERECategorylD=21

D.EXECsp_addserver'CORP2'

GO

SELECTCustomerlDFROMC0RP2.Archive,dbo.SalesHistory

WHERECategorylD=21

答案:C.

3.你是一名TreyResearch的数据库开发者,你创建两个事务来帮助将雇员的数据信息写入

公司的数据库中。一个事物将雇员的姓名和地址插入数据库中,这个事务很重要,另外一个

事务将雇员的人数统计插入到数据库中。这个事务不那么重要。在数据库使用的高峰期,在

服务器有时遇到错误的期间管理员会通知。每次发生时,数据库服务器会随机地终止其中一

个事务。你必须确定当服务器终止其中一个事务时,它不会终止比较重要的那个事务。你应

该做什么?

A.为插入雇员姓名和地址信息的那个事务设置DEADLOCK_PRIORITYtoLOW选项

B.为插入雇员人数信息的那个事务设置DEADLOCK_PRIORITYtoLOW选项

C.为插入雇员姓名和地址信息的那个事务添加一个检查1205服务器错误的条件代码。如果这

个错误被遇到,重新启动该事务。

D.在事务中添加一个ROWLOCK优化提示给SQL数据操作语句。

E.为插入雇员姓名和地址信息的那个事务设置隔离级别给SERIALIZABLE.

答案:B.

4.你是公司的SQLServer2000在线事务处理数据库的开发者.很多表中有一千甚至更多行。

所有的表都有一聚集索引。大量地访问表至少要有一个非聚集索引。在数据库服务器上数据

文件将包含有2个RAID阵列。你想要排列这些表和索引以确保最佳的输入/输出性能。你在每

个RAID阵列上创建一个文件组,你接下来应该做什么?

A.把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表的所有索引放

在不同的文件组中。

B.把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表的非聚集索引

放在同一个文件组中。

C.把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的非聚集索引

放在不同的文件组中。

D.把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的亦聚集索引

放在同一个文件组中。

答案:C

5.你是你公司SQLServer2000数据库的开发者。你在数据库中更新一些为销售部门创建新

的月底报表的存储过程。这存储过程包括从三个或更多的表中检索数据的复杂请求。在数据

库中所有的表至少有一个索引。用户报告说有一个新的月底报表的运行比以前版本的报表的

运行来的慢。你想要提高这些报表的性能,你应该做什么?

A.为每个存储过程创建一个包含数据定义语言的脚本。为索引调整向导使用这个脚本作为工

作负荷记录文件

B.在SQL跟踪事件探查器捕获每个存储的执行过程。为索引调整向导使用跟踪文件作为工作

负荷记录文件

C.在使用存储过程的表中更新统计表

D.在查询分析器中执行每一个存储过程,并使用ShowExecutionPlan选项

E.在查询分析器中执行每一个存储过程,并使用ShowServerTrace选项

答案:E

6.你是•个wideworldimporters公司的数据库开发人员,你创建了用来存储订单的数据库。

订单将被输入客户/服务器应用程序中。每次有一个新订单被输入,并被赋予一个唯一的编号,

按升序排列。每天平均有10000个订单被输入。你创建一个名为Orders的新表并在其中添加一

个OrderNumber字段。接下来你应该做什么?

A.为该字段设置全局唯一标识符的数据类型。

B.为该字段设置int数据类型,并为该字段设置一致性的属性。

C.为该字段设置int数据类型。在表中创建一个用户自定义函数用于查看订单编号的最大值。

D.为该字段设置int数据类型。创建一个名为NextKey的表,并在其中添加NextOrder字段。

将该字段的数据类型设置为int。在NextKey表中创建一个存储过程用于检索更新valueheld。

答案:B.

7.你是一个技术培训中心数据库开发者。通常地,用书面管理雇员的学历、教师、课程和教

室安排。这个培训中心希望通过开发一个数据库录入信息来实现无纸化记录。你为这个数据

ClassroomCourses

ClassroomCourselD

ClassroomNumberCourseNumber

LabCourseTitle

ClassTimeDescription

RequiresLab

InstructorName

OfficePhone

Student

StudentID

LastName

FirstName

HomePhone

WorkPhone

库设计表,设计如图

你想缩短查询的响应时间和将数据冗余最小化。你应该做什么?

A.创建一个名为Instructors的新表。包含InstructorlD、InstructorName>OfficePhone

等字段,为添加一个Courses表添加一个名为InstructorlD的字段。

B.将Classroom中的所有字段复制到Courses,并删除Classroom表。

C.移除Courses表的主键约束用一-个基于CourselD和CourseTitle的主键约束来代替。

D.移除ClassroomID字段,并在ClassroomNumber和ClassTime字段上以主键约束做基础。

答案:A.

8.你设计了一个包含客户订单的数据库。客户每次下订单时都将订购成倍的产品。你再观察

如图所示的数据库设计:

你想缩短查询的响应时间和将数据冗余最小化。你应该怎么做?

A.创建一个新的名为OrderDetai1的订货表,为该表添加OrderlD、ProductID^Quantity

字段。

B.在Orders表的OrderlD、ProductID字段上创建一个混合的主键约束

C.从Orders表中除去ProductID、Quantity这两个字段.

D.在Orders表的OrderID上创建一个唯一约束.

E.将UnitPrice这个字段从Products表移动到Orders表.

答案:A,C.

9.您是一出版社公司的数据库开发者。你创建以下存储过程来为特

殊的书名报道每年每日的销售情况

CREATEPROCEDUREget_sales_for_title

%titlevarchar(80),@ytd_salesintOUTPUT

AS

SELECT@ytd_sales=ytd_sales

FROMtitles

WHEREtitle=@出招

IF@@ROWCOUNT=0

RETURNS1)

ELSE

RETURN(O)

您创建一个脚本来执行这个存储过程。如果该存储过程成功执行,它应报道每年每日书的销

售情况。如果失败,则将返回如下信息:

"NoSalesFound^^

您该怎样创建该脚本?

A.DECLARE@retvalint

DECLARE@ytdint

EXECget_sales_for_title4NetEtiquette\@ytd

IF@retval<0

PRINT'Nosalesfound5

ELSE

PRINT4Yeartodatesales:'+STR(@ytd)

GO

B.DECLARE@retvalint

DECLARE@ytdint

EXECget_sales_for_title'NetEtiquette7,@ytdOUTPUT

IF@retval<0

PRINT'Nosalesfound'

ELSE

PRINT4Yeartodatesales:'+STR(@ytd)

GO

C.DECLARE@retvalint

DECLARE@ytdint

EXECget_sales_for_title'NetEtiquette,,@retvalOUTPUT

IF@retval<0

PRINT'Nosalesfound'

ELSE

PRINT"Yeartodatesales:'+STR(@ytd)

GO

D.DECLARE@retvalint

DECLARE@ytdint

EXEC@retval=get_sales_for_title'NetEtiquette7,@ytdOUTPUT

IF@retval<0

PRINT'Nosalesfound'

ELSE

PRINT'Yeartodatesales:'+STR(@ytd)

GO

答案:D

10.您是一集装箱制造公司的数据库开发者。您的公司生产的集装箱是一些不同型号的。存

储集装箱信息的表如下所示有

Size、Container和Shape表。

数据存储在表中的示例如图所示

在表中数据存储的实例如图中资料所示,

SizeTableShapeTable

SizeName[HeightShapelD

Sm5i-40Tryrgle

2Ntedium60TTriangle2.O

3Large803Triangle3O

Jumbo100Square.2O

5Sqjare3O

6Square4O

7Circle1:5

8Crete25

9Circle35

集装箱的大小定期地改变。数据库用户经常需要一集装箱的体积。集装箱的体积是根据sh冲e

和size表中的信息计算的。

您要隐藏计算的详细结果,以便thevolumecanbeeasilyaccessedinaSELECTquerywiththe

restofthecontainerinformation0

你应该做什么?

A.创建一个以ContainerlD为根据并且能够清空集装箱的体积的用户自定义函数。

B.创建一个以ContainerlD为根据并且能够清空集装箱的体积的存储过程.

C.为Container表添加一个名为volume的字段。创建一个触发器来计算和存储体积当有一个

新的集装箱插入表中的时候.

D.给Container表添加一•个计算列来计算集装箱的体积。

答案:A.

11.你是一医院数据库的开发者.医院一共有26层,每一层提供了4个房间。你设计一个控

制物品清单的数据库。某些使用方便的列须每次都存储。当使用某一个列时,键用来减少计

算数据库里的物品清单。供应管理者应在可用空间少于列的最小值时翻页。你该怎么做?

A.创建一个用来更新inventory表的存储过程。如果结果小于重新储存量,使用xp_logevent

存储过程来翻页。

B.在inventory表上创建一个INSTEADOFUPDATE触发器。如果inserted表中的数量小于重

新储存量,使用SQLAgentMail来发送e-mail信息给翻页者

C.在inventory表上创建一个FORUPDATE触发器.如果inserted表中的数量小于重新储存

量,使用xp_sendmail系统存储过程来翻页。

D.设置SQLserver作业每隔4小时运行一次,

配置该作业使用the@notify_level_page=2argument.

配置该作业让它测试列的大小它将触发供应者翻页。

答案:C.

12.您是一数据库的开发者,该数据库用来报告时间。通常平均每次有5个用户同时访问该

数据库,,且查询响应时间小于1秒钟。然而,在星期五下午和星期一早上,当大多数雇员输

入他们的时间,该数据库使用率增加到平均每次50个用户。在这段时间内,查询响应时间

增加到平均15到20秒。

您要减慢响应速度的原因并解决问题。你该怎么做?

A.用sp_lock和sp_who系统存储过程找出锁的资源和占用锁的进程。用这些信息来识别和

重设引起锁的事务。

B.用系统表sysprocesses和sysobjects找出死锁的资源并确定访问该资源的进程。

C.用系统表sysprocesses找出哪个资源正在被访问。在所有被访问的表的主键上添加聚集

索引。

D.用spjnonitor系统存储过程来确认增加的查询时间影响了哪个进程。为该进程设置一个

限制性较小的事务隔离级别。

答案:A.

13.你是一保险公司的数据库开发者。该保险公司有一应用程序用来输入关于它的政策和其

所有者的数据。该政策所有者信息存储在Owners表中。建该表的脚本如下所示:

CREATETABLEOwners

(

OwnerlDintIDENTITY(1,1)NOTNULL,

FirstNamechar(20)NULL,

LastNamechar(30)NULL,

BirthDatedateNULL,

CONSTRAINTPK_OwnersPRIMARYKEY(OwnerID)

)

当输入所有者的信息,所有者的出生日期不存在,该数据库需产生一定的错误信息项目,该

信息可通过数据登记程序来显示。

您需要为该数据库设计一个方法来确认出生日期已提供,如果没有则产生错误信息。你该怎

么做?

A.在BirthdayDate列中添加CHECK约束。

B.创建一个规则,并将其绑定到BirthdayDate列中。

C.修改Owners表,不允许BirthDate列为空。

D.在Owners中创建一个触发器来确认BirthDate列。

答案:D.

14.你是一家大型brewery的数据库开发人员。每一家工厂和设备的信息存储在一个名为

Equipment的数据库中.这工厂的信息存放在一张名为Location的表中,设备的信息存放在

一张名为Parts的表中。用来创建这些表所使用的脚本如下所示:

CREATETABLELocation

(

LocationlDintNOTNULL,

LocationNamechar(30)NOTNULLUNIQUE,

CONSTRAINTPK_LocationPRIMARYKEY(LocationlD)

)

CREATETABLEParts

PartIDintNOTNULL,

LocationlDintNOTNULL,

PartNamechar(30)NOTNULL,

CONSTRAINTPK_PartsPRIMARYKEY(PartID),

CONSTRAINTFK_PartsLocationFOREIGNKEY(LocationID)

REFERENCESLocation(LocationlD)

)

Thebrewery用来关闭一些现有的工厂和打开一些新的工厂。当一家工厂被关闭时,有关工厂

和所有设备的信息将从数据库中删除。你创建一个存储过程来完成这个操作。名为

sp_DeleteLocation存储过程如下所示:

CREATEPROCEDUREsp_DeleteLocation@LocNamechar(30)AS

BEGIN

DECLARE@PartIDint

DECLAREcrs_PartsCURSORFOR

SELECTp.PartID

FROMPartsASpINNERJOINLocationAS1

ONp.LocationlD=@LocName

WHERELLocationName=@LocName

OPENcrs_Parts

FETCHNEXTFROMcrs_PartsINTO@PartID

WHILE(@@FETCH_STATUS<>-1)

BEGIN

DELETEPartsWHERECURRENTOFcrs_Parts

FETCHNEXTFROMcrs_PartsINTO@PartID

END

CLOSEcrs_Parts

DEALLOCATEcrs_Parts

DELETELocationWHERELocationName=@LocName

END

这个存储过程将要花费比想像中还要长的时间来执行。你需要减少这个存储过程的执行时

间,你该怎么做?

A.在定义过程中添加WITHRECOMPILE选项.

B.用单一的DELETE语句取代光标操作

C.在过程的开头添加一个BEGINTRAN语句并在过程的结尾添加COMMITTRAN语

D.为这个过程设置事务处理隔离级别READUNCOMMITTED

E.为Parts表的PartID字段添加一个非聚集索引.

答案:B.

15.你是一家保险公司的数据库开发人员。关于公司保险单的信息存储在SQLServer2000数

据库中。你使用了以下脚本为数据库创建了一张名为Policy的表。

CREATETABLEPolicy

(

PolicyNumberintNOTNULLDEFAULT(0),

InsuredLastNamechar(30)NOTNULL,

InsuredFirstNamechar(20)NOTNULL,

InsuredBirthDatedatetimeNOTNULL,

PolicyDatedatetimeNOTNULL,

FaceAmountmoneyNOTNULL,

CONSTRAINTPK_PolicyPRIMARYKEY(PolicyNumber)

)

每次公司卖出一条新的保险单,保险单必须被指定一个保险单号码。当一条新的保险单信息

被输入时数据库必须指定一个新的保险单号码。你应该做什么?

A.创建一个INSTEADOFINSERT触发器来产生一个新的保险单号码并且包括把它插入表

中。

B.创建■■个INSTEADOFUPDATE触发器来产生一个新的保险单号码并且包括把它插入

表中。

C.创建一个AFTERUPDATE触发器来产生一个新的保险单号码并且包括把它插入表中。

D.用AFTERINSERT触发器来取代DEFAULT约束并产生一个新的保险单号码并且包括把

它插入表中。

答案:A

16.你是一家通讯公司的数据库开发队的一个成员。在队上的另外一个开发者,Marc,在

一个名为Corporate的数据库中创建了一张名为Customers的表。因为表包含机密的信息,他

已经授权允许查询该表的只有队里的其他成员。你正在开发一个应用程序用来允许销售部门

的职员查看Customers表的一些信息。这些职员是销售数据库角色的所有成员。为了支持这

一个应用程序,你在Customers表上创建一个被命名的vwCustomers的视图。在创建视图之

后,你授权具有销售角色的成员允许查询。当销售角色的成员尝试从视图中取回数据的时候,

他们接收以下错误信息:

SELECTpermissiondeniedonobject'Customers',databaseuCorporate',owner

'Marc'.

你必须确定具有销售角色的成员只能使用vwCustomers视图来访问Customers表的数据。

你应该做什么?

A.添加一个销售角色到固定的系统管理员服务器角色中。

B.将vwCustomers视图的所有权转移到销售角色中。

C.通知Marc将Customers表的所有权转移给销售角色的每个成员。

D.通知Marc授予用户查询Customers表的许可。

E.删除vwCustomers视图。通知Marc重建视图并且授予销售角色的用户查询视图的权限。

答案:E.

17.你正在为你的公司设计一个SQLServer2000销售数据库,它能够被客户端的应用程序访

问。客服人员和销售人员对数据库中的所有表格应具有插入,删除和查询的权限。另外,使

用客户端程序时候,销售人员将由会把数据库中的表通过Excel导出成图解。客服人员属于

Windows2000中的名字叫CSR的组。销售人员属于Windows2000中的名字叫Marketing的组。

你只允许客服人员通过客户端应用程序访问数据库。你却允许销售人员通过客户端应用程序

和Excel访问数据库。在数据库中没有授予任何许可权。你该怎么做呢?

C.为客户应用程序创建一个应用程序角色,授予这个应用程序角色SELECT,INSERTand

UPDATE权限。为marketing雇员创建一个叫Marketing的数据库角色。添力口Windows2000

Marketing组到Marketing数据库角色。授予数据库中的所有表有查询Marketing数据库角色的

权限。

答案:C.

18.你是一个在线书店零售商的数据库开发者。客户通过公司的网站订购书。一旦顾客填写

了订单,订单的信息将存入一个名为BookOrders的数据库内。经过批处理后,订单信息将被

转化到一个名叫Reports数据库内。这个数据库含有两个表,一个叫Order,另一个叫Lineitem。

Order表包括了订单的一些基本信息。Lineitem表则包含了订单中■■些涉及私人的信息。Order

和Lineitem表是将要被给出的。为了使顾客能够通过公司的网站察看而且只能察看自己的订

单信息。顾客不能够修改提交过的订单信息。订单的主键和顾客是不相关的,而且是不可见。

你应该怎么做呢?

OrderLineitem

5OrderlD_1ItemID

CustomerlDOrderlD

OrderDateProductID

Price

A.创建一个视图显示ORDER表的客户信息

B.创建个存储过程检索ORDER表的客户信息

C.创建一个scalaruser-definedfunction来检索ORDER的客户信息

D.授予客户对Order表和Lineitem表的查询权限

答案:B.

19.你是一家大型旅行公司的数据库开发者。关于公司每个部门的信息都被储存在一个名叫

Department的表中。关于公司的每个旅行社代理商和部门经理的信息被储存在一张Employeest

的表中。Department和Employees表将被给出。每个部门经理将被授予数据库管理者的角色。

你需要使得这个数据库角色的所有成员能够看到department表中的所有数据。这个角色的成

员只能对department数据库的行进行插入和更新操作。你已经授予了这个数据库管理角色选

择的权限,接下来你要做什么?

DepartmentEmployees

8DepartmentIDEmployeelD

DepartmentNameDepartmentID

TotalBudgetEmployeeName

SQLLOgin

A.在Department表上创建一个触发器,来登记部门成员数据库登陆用户实行插入或更新操作

是否属于这个部门成员

B.创建一个视图包括Department表的所有列和Employees表的SQLLogin歹!J

C.在视图定义中包含WITHCHECKOPTION项。

D.授予Department表的插入和更新权限.

E.授予Employees表的SQLLogin歹!]插入和更新权限.

答案:B.

20.你是你们公司销售数据库的开发者。这个数据库有个名字叫Order的表。创建表的脚本

如下:

CREATETABLEOrders

(

OrderlDintNOTNULL,

CustomerlDchar(5)NOTNULL,

OrderDatedatetimeDEFAULTGETDATE()NULL,

ShippedDatedatetimeNULL,

FreightmoneyNULL,

ShipNamevarchar(40)NULL

)

GO

CREATECLUSTEREDINDEXIX_OrderIDONOrders(OrderlD)

GO

CREATENONCLUSTEREDINDEXIX_CustomerIDONOrders(CustomerlD)

应用程序将为顾客执行下面的查询语句:

SELECTOrderlD,CustomerlD,OrderDate

FROMOrdersWHERECustomerlD='WHITC'

ORDERBYOrderDateDESC

产生的查询实行计划如查询实行计划展览品中所示。

查询实行计划:

1、■刽•%、-尊

SELECTSortBookmarkLookupOrders.IXCusto...

Cost:Coat:44Cost94%Cost

为了使这个查询语句效率高点。你应该作什么?

A.在OrderDate上创建非群集索引

B.在OrderDate上创建一个群集索引.

C.把OrderlD上的群集索引换成非群集索引

D.把OrderDate添加到CustomerlD的非群集索引中

答案:D.

21.你正在为你的公司设计一个SQLServer2000销售数据库,你们公司有很多基于网络的应

用程序,它们要从销售数据库提取数据。其中的一些应用程序通过EXECUTE语句来进行相

应的查询操作。随着使用网络型应用程序的增加。查询将需要更长的时间来执行。如果你要

开发一个能够执行大量查询语句的网络应用程序。你要做什么?

A.用SQLprofiler去捕获RPCCompleted事件,通过HostName数据列分类跟踪

B.用SQLprofiler去捕获SQL:StmtCompleted事件.

通过ApplicationName数据歹U分类总艮踪

C.用系统监视器监视SQLServer:Databasecounter.

SelectallcountersfortheSalesdatabase

D.用系统监视器监视SQLServer:GeneralStatisticscounter.

SelectallcountersfortheSalesdatabase.

答案:B.

22.你是一个跨国公司的数据库开发者。公司有一个在SQLServer2000的在线交易处理的数

据库。这个数据库有一个销售表,它里面包含了公司的一些固定的信息。在过去的一年,已

经有150,000行数据被加到销售数据库中。数据库使用者说数据库慢慢的变得不太好用了。

你为了改变数据库的查询销售表的能力,在SQL的查询分析器中要执行哪个脚本语句?

A.EXECsp_updatestats'resample'

B.CREATESTATISTICSSalesWITHFULLSCAN

C.Sp_autostats'Sales'

D.UPDATESTATISTICSSalesWITHFULLSCANALL

答案:A.

23.你是一个SQLServer2000的在线交易处理的数据库的开发者。你写了许多存储程序来产

生严格的报表。这些存储程序能够访问存在的且索引的数据表。你把储存程序放在生产环境

前,你要确定新储存程序有最佳的表现。你也确定数据库的每日操作没被不利的东西影响。

你应该做什么?

A.为包含在存储过程中的每个分析创建一个覆盖索引

B.为存储过程的每个查询创建一个包含WHERE项的每个列的索引

C.从索引运行向导中用输出来确认索引是否应该被添加。

D.在SELECTandWHERE项的每个分析在所有列中创建一个统计表.

答案:C.

24.你是一个保险公司的数据库开发者。你知道如果数据库在一年前就被生成,那么要执行

selects,inserts,andupdates操作就需要更长的时间。前期数据库开发者在开发前加入了必要的

索引。从那时起,其他的储存过程和表也被加入到数据库中。另外,许多查询都已经没用过

了。你为了使数据库的相应时间尽可能加快,你要做什么?

A.执行DBCCUPDATEUSAGE语句阻止数据库去更新sysindexes系统表

B.执行DBCCSHOW_STATISTICS语句找到高密度的索引。删除高密度索引

C.运行索引运行向导阻止aworkloadfile支持索引创建和删除被建议的索引。

D.用SQLprofiler寻找表扫描.添加索引到被发现表扫描的表当中.

答案:C.

25.你是一家运动商品公司的数据库开发者。公司有一个主办公室和多个横穿美国的地方办

公室。一个56-Kbps的架构继电器网络连接办公室。每个办公室有一个包含公司的产品资

讯的SQLServer2000数据库。主办公室的SQLServer数据库用来处理对地方办公室数据库

的逐渐增加的更新。用事务响应来运行这些更新。在每四分之一处,你创建一个新的快照文

件。你使用这个快照文件来代替地方的办公室和最近的产品信息的数据库。这个快照文件

现在超过800MB。你将快照文件应用到地方的办公室的数据库中。你想要使用最少量的费用

来完成这项任务。你应该怎么做?

A.使用事务复制。为重新初始化做特定的标记。

B.拷贝快照到压缩共享的NTFS卷中。从共享的NTFS上创建一个CD。分配该CD到地方

办公室。

C.在分配器上的默认快照文件夹中创建一个压缩的快照。从那个文件夹中创建CD。把CD分

配到该地方的办公室。

D.在网络上的•个其它可能的快照文件夹中创建•个压缩的快照。

从那个文件夹中创建光盘。分配该光盘到地方的办公室。

E.在网络上的一个其它可能的快照文件夹中创建一个压缩的快照。使用FTP将快照分配到地

方办公室。

答案:D

26.你是你公司的SQLServer2000的数据库开发者.这一个数据库包含一命为Sales的表,该

表有二百万个列。Sales表包含了公司所有部门的售卖信息。每个部门被标识于表的

DepartmentlD列中。大多数的访问反对用来为一个单一部门查找销售的表。你要提高这些访

问的I/O性能。然而,你不想影响访问表的应用程序。你应该怎么做?

A.创建一个新的表,并且移动被最时常访问到的这个表的列。在两个表中保存DepartmentlD

列。在源表和新的表上创建一个视图。在新的表联结列上加入的一个外键约束。

B.创建一个新的表,并且移动被最时常访问到的这个表的列。在两个表中保存DepartmentID

列.在源表和新的表上创建一个视图。在两个表的DepartmentID列上加入一个CHECK约束。

C.为每个部门创建一个新的表,而且为每个部门将售卖信息移动到那部门的表中。在新表的

DepartmentID列上加入的一个CHECK约束。在新表上创建一个视图。

D.为每个部门创建一个新的表,而且为每个部门将售卖信息移动到那部门的表中。在新表上

创建一个视图。在视图的DepartmentID列上加入一个CHECK约束。

E.为部门创建一个接受一个输入叁数的存储过程。使用该存储过程返回来自Sales表的结果。

答案:C

27.你是你公司SQLSERVER2000数据库的数据库开发者。你正在删除数据库不会再使用的

对象。你无法删除视图1997Saleso经过调查你发现该视图有如下特性:

(1)该视图有一聚集索引

(2)sales数据库角色有该视图的权限

(3)该视图有WITHSCHEMABINDING选项

(4)该视图有一个在线参考模式

(5)该视图上定义了一个INSTEADOF触发器

在删除该视图前你该做什么?

A.删除该视图上的聚集索引

B.除去该视图上所有权限

C.除去该视图上的WITHSCHEMABINDING选项

D.除去参考该视图的函数上的WITHSCHEMABINDING选项

E.禁用该视图上的INSTEADOF触发器

答案:D

28.你是prosewareinc的数据库开发者。你为公司创建一个名为humanresources的数据库。这

个数据库包含所有雇员的记录和人口统计数据。这家公司有2,000个雇员和有经验的以每年

2%的回转率。当他们离开公司是,他们所有的记录必须保存为auditing处理。雇员的人口统计

数据以每年9%的改变率变化。你没必要维持人口统计的数据改变的历史。HumanResources

的表格显示如下,和用于创建索引的脚本也显示如下:

HumanResourcesSchema:

EmployeeDemographics

ColumnNameConderscdTypeNulldolcT

EmployeelDintNOTNULL

Gerderchar(l)NOTNLLL

DateOfBirthdatetirreNOTNULL

MumberOfOependantsthyintNOTNULL

ExemptEnnplcyeebtNOTNULL

Street]varchar(50)NOTNULL

Street?vari±iar(50)NJLl

Cityvarchar(5C)NLLL

Statechar(10)NOTNULL

PostolCocfevarcho»(10)NOTNULL

二1

ALTERTABLE[dbo],[Employee]WITHNOCHECKADD

CONSTRAINT[pk_Employee]PRIMARYKEYCLUSTERED

([EmployeelD])

WITHFILLFACTOR=90

GO

ALTERTABLE[dbo].[EmployeeDemographics]WITHNOCHECKADD

CONSTRAINTfdbo].[EmployeeDemographics]PRIMARYKEYCLUSTERED

([EmployeelD])

WITHFILLFACTOR=90

GO

你需要保证磁盘有空间和数据文件空间减到最小。所有的varchar列是50%的全部。在创建数

据库中你需要定义哪两个参数?(选2)

A.SIZE=1GB

B.SIZE=1MB

C.SIZE=2048KB

D.FILEGROWTH=20

E.FILEGROWTH=5%

A.FILEGROWTH=0

答案:C,E

29.你是公司sqlserver2000数据库的开发者。这个数据库包含一个名为products表格和一个名

为companies的表格。你需要用连接服务器插入新的产品信息到products表格中。这个产品表

格有个主键是companies表格的外键的约束。在products表格上定义了一个更新触发器。

你需要尽可能快的导出数据。你该怎么做?

A.使用altertable语句和onupdate项目来修改products表格。

B.使用altertable语句和禁用触发器的所有选项来修改products表格。

C.使用altertable语句和禁用触发器的所有选项来修改companies表格。

D.使用altertable语句和nocheckconstraint选项来修改companies表格。

E.使用altertable语句和nocheckconstraint选项来修改products表格。

答案:E

30.你是公司会计数据库的开发者。数据库包含一个名叫Employees的表。Tom是会计部门

的一个成员。Tom的数据库用户帐户对表Employees里的列Salary和BonusPercentage的

SELECT权限被拒绝,被授予对其他列的SELECT权限。Tom现在要求访问Employees表里

的所有数据。

你该怎么做?

A.废除Tom数据库用户帐户对表Employees里的列Salary和BonusPercentage的SELECT

权限

B.添力口Tom至Udb_datareader角色

C.添力口Tom至!Jdb_accessadmin角色

D.授予Tom数据库用户帐户对表Employees里的列Salary和BonusPercentage的SELECT

权限。

答案:D

31.你是一个玩具制造厂商的数据库开发者。公司里的成员有主管,管理阶层以及职员。公

司内部网络首页显示了根据客户需要修改的每个阶层的员工的信息。当有一员工登陆到公司

内部网时,首页验证职工的身份然后显示其充用?的公司信息。

公司信息保存在库corporate里的News表中,创建新数据库表的语句如下所示:

CREATETABLENews

(

NewsIDintNOTNULL,

NewsTextvarchar(8000)NOTNULL,

EmployeePositionTypechar(15)NOTNULL,

DisplayUntildatetimeNOTNULL,

DateAddeddatetimeNOTNULLDEFAULT(getdate()),

CONSTRAINTPK_NewsPRIMARYKEY(NewsID)

)

企业内部网的用户需访问News表,但不能插入、更新或删除表里的数据。你基于你的职位要

将充用?信息传递到企业内部网。

你该怎么做?

A.创建一个视图返回那些应用于特殊职位的行

B.创建一个存储过程返回那些应用于特殊职位的行

C.授予每个职位对列EmployeePositionType的SELECT权限

D.授予每个职位对表News的SELECT权限

答案:B

32.你是一个生产在线电话目录的公司的数据库开发者。PhoneNumbers

有个名为phonenumbers的表格展示如下。PhoneNumberlD

在载入100,000个name到表格,你通过下面的脚本创建索引。AreaCode

ALTERTABLE[dbo],[PhoneNumbers]WITHNOCHECKADDExchange

CONSTRAINT[PK_PhoneNumbers]PRIMARYKEYNumber

CLUSTERED(

zLastName

[FirstName],

zFirstName

[LastName],

StreetAddress

)ON[PRIMARY]

City

GO

State

CREATEUNIQUEINDEX

PostalCode

[IX_PhoneNumbers]ON[dbo].[PhoneNumbers](

[PhoneNumberlD]

)ON[PRIMARY]

GO

你检验数据库的反应。你发现向下面的查询要花费长时间来运行。

为生活在某一城市和lastname以w开始的人返回所有的名字和电话号码。

你该如何改进该查询语句。(选2)

A.用跟随在hrstnamega列后的lastname列来更改主键的约束。

B.在city列上添加一个非聚集索引。

C.在areacode,exchange,和number列上创建非聚集索引。

D.删除phonenumberid列上的唯一索引。

E.更改主键约束,换成非聚集索引。

F.在查询分析器中执行更新统计扫描所有的语句。

答案:A,B

33.你是一个保险公司的数据库发展者.你正在查询调整SQL企业管理器的性能。在查询窗

口中,你创建如下的查询语句:

SELECTP.PolicyNumber,P.IssueState,AP.Agent

FROMPolicyASPJOINAgentPolicyASAP

ON(P.PolicyNumber=AP.PolicyNumber)

WHEREIssueState='IL'

ANDPolicyDateBETWEEN'1/1/2000'AND'3/1/2000'

ANDFaceAmount>1000000

你从查询菜单中选择“显示评估执行计划”选项并执行查询产生,查询执行计划被创造并显示

在评估计划的图示中。

B▼一词^一•抄

SELECTNescedLaop/In..Pol.,.._

Co";0^.3%-LkjsteredInocxScan

osScarringacinderedn曲《entkdyorarlyara^ge

________Physicaloperation:cLsteredIndexscan

Logkoloperation:Cljstwi^ri[ndw5can

Rowcount:2

AqentPo)Estimatedrow63

cI/Ocost:0,208

CPUcost:0.0D454

Nimibrfofexecutes

Cost:0X125183(95%)

Subtrt*ecost:0.425

Estimatedrowcount:23

Argument:

06TCT:([insurance][dbo][Pole/][IX_POICY]AS[P],WtlERE;(([[P].Pc

你将要做什么?

A.重写查询语句删除BETWEEN关键字

B.添加一个包含HASH选项的一个连接提示到查询中

C添加一个WITH(INDEX(0))的表提示到Policy的表中

D更新在Policy的表中的统计表

E执行在Policy的表中DBCCDBREINDEX语句

答案:D

34.你是一个SQLSERVER2000的数据库的开发者。你正计划增加新的索引,删除一些索

引并把其它的索引合成并覆盖。在查询之前你必须创建一个报表来展现被使用的索引之后你

进行更换。你应该怎么做?

A执行每一个在SQL企业管理器的查询并使用SHOWPLAN_TEXT选项

B执行在SQL企业管理器一个查询,使用显示执行计划选项,并对报表输出

C运行IndexTuningWizard相对的工作文件。使用输出报表。

D执行DBCCSHOW_STATISTICS语句。使用输出报表。

答案:A.

35.你是一个医院数据库的开发者。你正在设计一个SQLSERVER2000数据库医生,这个数

据库包含医生和病人的信息。这个数据库将包含一个名为Physicians和一个名为Patients的表。

医生治疗多个病人。病人通常有一个主治医生和一个辅助医生。主治医生被鉴定作为主治医

生。病人的表包含不多于百万行。

你想在当从表中查询数据时增加I/O性能,数据库应该被标准化以达到第三标准格式。

你应该使用哪种脚本来创建表?

A.CREATETABLEPhysicians

(

PhysiciansIDintNOTNULLCONSTRAINTPK_PhysiciansPRIMARYKEYCLUSTERED,

LastNamevarchar(25)NOTNULL,

)

GO

CREATETABLEPatients

(

PatientIDbigintNOTNULLCONSTRAINTPK.PatientsPRIMARYKEYCLUSTERED,

LastNamevarchar(25)NOTNULL,

FirstNamevarchar(25)NOTNULL,

PrimaryPhysicianintNOTNULL,

SecondaryPhysicianintNOTNULL,

CONSTRAINTPK_Patients_Physicians1FOREIGNKEY(PrimaryPhysician)REFERENCES

Physicians(PhysicianlD),

CONSTRAINTPK_Patients_Physicians2FOREIGNKEY(SecondaryPhysician)

REFERENCES

Physicians(PhysicianlD)

)

B.CREATETABLEPatients

(

PatientIDsmallintNOTNULLCONSTRAINTPK_PatientsPRIMARYKEYCLUSTERED,

LastNamevarchar(25)NOTNULL,

FirstNamevarchar(25)NOTNULL,

PrimaryPhysicianintNOTNULL,

SecondaryPhysicianintNOTNULL,

)

GO

CREATETABLEPhysicians

(

PhysicianlDsmallintNOTNULLCONSTRAINTPK_PhysiciansPRIMARYKEY

CLUSTERED,

LastNamevarchar(25)NOTNULL,

FirstNamevarchar(25)NOTNULL,

CONSTRAINTPK_Physicians_PatientsFOREIGNKEY(PhysicianlD)REFERENCES

Patients

(PatientID)

)

C.CREATETABLEPatients

(

PatientIDbigintNOTNULLCONSTRAINTPK_PatientsPRIMARYKEYCLUSTERED,

LastNamevarchar(25)NOTNULL,

FirstNamevarchar(25)NOTNULL,

)

GO

CREATETABLEPhysicians

(

PhysicianlDintNOTNULLCONSTRAINTPK_PhysicianPRIMARYKEYCLUSTERED,

LastNamevarchar(25)NOTNULL,

FirstNamevarchar(25)NOTNULL,

)

GO

CREATETABLEPatientPhysician

(

PatientPhysicianlDbigintNOTNULLCONSTRAINTPK_PatientsPhysiciansPRIMARY

KEY

CLUSTERED,

PhysicianlDintNOTNULL,

PatientIDbigintNOTNULL,

PrimaryPhysicianbitNOTNULL,

FOREIGNKEY(PhysicianlD)REFERENCESPhysicians(PhysicianlD),

FOREIGNKEY(PatientID)REFERENCESPatients(PatientID)

)

D.CREATETABLEPatients

(

PatientIDintNOTNULLPRIMARYKEY,

LastNamevarchar(25)NOTNULL,

FirstNamevarchar(25)NOTNULL,

)

GO

CREATETABLEPhysicians

PhysicianlDintNOTNULLPRIMARYKEY,

LastNamevarchar(25)NOTNULL,

FirstNamevarchar(25)NOTNULL,

)

GO

CREATETABLEPatientPhysician

(

PhysicianlDintNOTNULLREFERENCESPhysicians(PhysicianlD),

PatientIDintNOTNULLREFERENCESPatients(PatientID),PrimaryPhysicianbitNOT

NULL,

CONSTRAINTPK_PatientsPhysiciansPRIMARYKEY(PhysicianlD,PatientID)

)

答案:D.

36.你是你公司的SQL2000SERVER数据库的开发者。这个数据库包含一个名为Invoices

的表,你是一个db_ownerrole的角色。Eric是HR的一个数据库角色的成员,他在Invoices

表中创建了一个Tre、_Research_Updateln、oices的触发器,Eric不在办公室工作,并且触发器不

在需要。你在Sales数据库执行如下语句去删除触发器:

DROPTRIGGERTrey_Research_updateInvoices

你收到了如下错误信息:

Cannotdropthetrigger6Trey_Research_updateInvoices\becauseitdoesnotexistinthe

systemcatalog.

在你删除触发器之前你应该怎么做?

A添加你的登录名到HR的数据库角色

B在DROPTRIGGER语句中限制触发器拥有者的触发器名

C在执行DROPTRIGGER语句之前禁止触发器

D在DROPTRIGGER语句中限定触发器的数量

E从Sysobiects和syscomments的系统表中除去触发器的文本

答案:B

37.你已经为•个WEB站点设计一个数据库,这个数据库被使用来购买音乐会的票在购买

票的期间,,一个购买者观察到一个可获得票的清单表,他判定是否能买到这些票,并试图购

买这些票。用游标重新检索到这张可获得票的清单表。

对于这个流行的音乐会,成千上万的购买者同时试图去购买票。由于在任何时间有潜在地许

多购买者,你必须在同一时间允许最大可能访问数据。

你应该如何设计游标?

A创建一个游标包含在显示事务,并设置事务隔离级别在Repeatableread

B创建一个使用乐观并发游标并定位更新。在游标中,放置定位更新语句在显示事务中

C创建一个显示事务的游标。在游标中,使用UPDATE语句详细说明在WHERE语句中需要

被更新的关键行,并把UPDATE语句放置到隐性事务中

D创建一个使用定位更新的游标。并且在游标的定义中使用包含SCROLL_LOCKS辅助信息

来强迫执行悲观并发。在游标中,在隐性事务游标中放置定位更新。

答案:B.

38.你是一个管理用电话来调查消费者偏爱的音乐信息的数据库开发者。当从调查的参与者

中接收到返回的调查信息,这些调查信息被插入到SurveyData.表中。所有的调查的返回信息

被接收,并产生了总结结果。你被要求创建一个抽取每个返回的调查中第五行的信息总结,

你需要尽快的产生一个总结。你应该怎么做?

A使用游标检索调查中的所有数据。使用FETCHRELATIVE5语句从游标查询总结

B使用一个SELECTINTO语句去检索调查中的数据到临时表中。使用SELECTTOP1语句去

检索临时表中的第一行

C设置查询的行数为5行,使用SELECT语句检索和总结调查的数据

D使用一个SELECTTOP5语句去检索和总结调查的数据

答案:A.

39.你是一家木材公司的数据库开发者。你正在执行一个移动的操作从一个平面文件数据库

到SQL服务器2000o你将平面文件数据库输出到定义了逗号格式的文本文件中.文本文件

在输入文件展示按钮中被显示。

1111,4*4Interior9,4,"InteriorLumber9,1.12

1112,'2*4Exterior9,5,'ExteriorLumbaf,1.87

2001,'16dgalvanized\

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论