SQL数据库程序的设计认证试题模板

上传人:feng****ing 文档编号:60300831 上传时间:2022-03-07 格式:DOC 页数:52 大小:946.50KB
收藏 版权申诉 举报 下载
SQL数据库程序的设计认证试题模板_第1页
第1页 / 共52页
SQL数据库程序的设计认证试题模板_第2页
第2页 / 共52页
SQL数据库程序的设计认证试题模板_第3页
第3页 / 共52页
资源描述:

《SQL数据库程序的设计认证试题模板》由会员分享,可在线阅读,更多相关《SQL数据库程序的设计认证试题模板(52页珍藏版)》请在装配图网上搜索。

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

2、把这些数据转换为标准电子数据交换(EDI)文件答案 : A.XMI可扩展标记语言,用于在 web上显示数据的语言,SELECTS句的for xml子句可以使查询返回 XMI格式,而不是 标准的行集结果;Sp_makewebtask创建一项生成HTM文档的任务,而XM比HTM更复杂;tab分隔文件常常在一些 电子制表软件中被使用,如 Excel ; SQL_DM是SQ分布式管理对象的缩写,允许用支持自动化或COM的语言编写应用程序,以管理 SQL Server 安装的所有部分。2. 你是一订购公司的数据库开发者,该公司有两台名为 CORP和CORP2的SQLServer2000的计算机。CORP

3、是台在线处理事务的服务器。CORP存放销售的历史数据。CORP已经添加了一个连接服务到 CORP上。销售部经理请你 创建一个是谁购买软盘的用户清单。这清单每个月生成一次,软盘在数据库中用ID21来表示。你必须从一名为SalesHistory 的表中检索数据。该表放在本地的CORP2rchive数据库中。你需要在 CORP上执行这个请求。你该选择哪个选项? (远程服务器)A. EXEC sp_addlinkedserverCORP2, SQL Server GOWHERE CategoryID = 21B. SELECT CustomerID FROM OPENROWSET(SQLOLEDB ,

4、 CORP2 ; p*word , SELECTCustomerID FROM Archive.dbo.SalesHistory WHERE CategoryID = 21)C.WHERE CategoryID = 21D. EXEC sp_addserver CORP2GOWHERE CategoryID = 21答案: C.SELECT CustomerlD FROM SalesHistory WHERE CategorylD = 21, 由于表 SalesHistory是在远程的 CORP2服务器 上,并且也已经建立了连接,所以可以直接使用分布式查询 。sp_linkedserver是建

5、立与服务器的连接;OPENROWSET是一种使用 OLE DB连接并访问远程数据的一次性的、特殊的方法,无需设置服务器;sp_addservei定义本地或远程服务器的名称3. 你是一名 Trey Research 的数据库开发者,你创建两个事务来帮助将雇员的数据信息写入公司的数据库中。一 个事物将雇员的和地址插入数据库中, 这个事务很重要, 另外一个事务将雇员的人数统计插入到数据库中, 这个 事务不那么重要。在数据库使用的高峰期,在服务器有时遇到错误的期间管理员会通知。每次发生时,数据库服 务器会随机地终止其中一个事务。你必须确定当服务器终止其中一个事务时,它不会终止比较重要的那个事务。 你应

6、该做什么? (事务处理)A. 为插入雇员和地址信息的那个事务设置DEADLOCK_PRIORITY to LOW选项B. 为插入雇员人数信息的那个事务设置DEADLOCK_PRIORITY to LOW选项C. 为插入雇员和地址信息的那个事务添加一个检查1205服务器错误的条件代码。如果这个错误被遇到, 重新启动该事务。D. 在事务中添加一个 ROWL0优化提示给SQ数据操作语句。E. 为插入雇员和地址信息的那个事务设置隔离级别给SERIALIZABLE.答案 : B.Set deadlock_priority to low可以指定当前事务为首选死锁牺牲品 ;错误号 1205是事务成为死锁牺牲

7、事务被中止后返回的信息,为插入雇员和地址信息的那个事务添加条件代码, 比较没有效率4你是公司的 SQL Server 2000 在线事务处理数据库的开发者 . 很多表中有一千甚至更多行。所有的表都有一聚 集索引。大量地访问表至少要有一个非聚集索引。在数据库服务器上数据文件将包含有2个RAID阵列。你想要排列这些表和索引以确保最佳的输入 /输出性能。你在每个RAID阵列上创建一个文件组, 你接下来应该做什么?(文 件组管理)A. 把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表的所有索引放在不同的文件组中。B. 把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表

8、的非聚集索引放在同一个文件组 中。C. 把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的非聚集索引放在不同的文件组 中。D. 把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的非聚集索引放在同一个文件组 中。答案: C 为了提高查询效率,将经常查询的表放不同的文件组中,而且将非聚集索引和它的表也放入不同的文件组中。5. 你是公司 SQL Server 2000 数据库的开发者。你更新了数据库里几个存储过程来创建新的月终销售部门的报表。 此存储过程包括综合查询从三个或者更多的数据表中检索数据。所有数据库中的表至少有一个索引。 用户反映新的月终报表比前一个版本

9、的报表运行速度慢很多。你想改善报表的性能。你该怎么做?A. 创建一个脚本,包括每个存储过程中的数据定义语言( Data Definition Language ),使用这个脚本作为索 引优化向导( Index Tuning Wizard )的工作量文件B. 在SQI部署跟踪器中捕获每个存储过程的执行,使用跟踪文件作为索引优化向导(Index Tuning Wizard )的工作量文件C. 更新存储过程使用的数据表统计索引D. 在SQ查询分析器中执行每个存储过程,并使用 Show Execution Plan 选项E. 在SQ查询分析器中执行每个存储过程,并使用 Show Server Trac

10、e选项正确答案: E显示服务器跟踪 命令提供了对信息的访问,此信息用于确定查询对服务器方的影响。如果 显示服务器跟踪 命令在执行查询时启用,则该命令显示跟踪窗格,此窗格提供有关事件类、子类、整型数 据、文本数据、数据库 ID 、持续时间、启动时间、读、写以及 CPU 使用的信息。 显示服务器跟踪 可以用来帮 助调整查询语句、存储过程和脚本,显示在查询分析器中。索引优化向导容参阅联机丛书。6你是一家进口商的数据库管理员,你正在创建一个存储订单信息的数据库。 订单将会在一个 client/server 应用系统中录入,每次一个新的订单录入时,必须分配一个唯一的订单编号,订单编号必须以升序分配。每天

11、平均 有10000 个订单被录入。你创建了一个新的名为 Orders 的表,并在这个表里添加了一个 OrderNumber 列。接下A. 设置这个列的数据类型为B. 设置这个列的数据类型为C. 设置这个列的数据类型为来你该做什么? (表的属性)uniqueidentifierint,并为这个列设置IDENTITY属性 int, 创建一个用户定义的方法来选择表中最大的订单编号数据类型为int ,创建一个存储过程来检索并更新NextKey中的值答案:B.7你是一个技术培训中心数据库开发者。通常地,用书面管理雇员的学历、教师、课程和教室安排。这个培训 中心希望通过开发一个数据库录入信息来实现无纸化记

12、录。你为这个数据库设计表,设计如图Cldsroom匚la阳roomC la ssroorriNcmber Lab匚 lassTimeStudent尸 irstJMame Honrbe Ahonc WorkPhcaneCCMJrseJDccxjrseTitleD&SCHpUonInst52 r NarneOFfic cPCourses你想缩短查询的响应时间和将数据冗余最小化。你应该做什么?(数据库设计)A. 创建一个名为 Instructors的新表。包含 InstructorlD 、InstructorName 、OfficePhone 等字段,为添加一个 Courses表添加一个名为In s

13、tructorID 的字段。B. 将Classroom中的所有字段复制到 Courses,并删除Classroom表。C. 移除Courses表的主键约束用一个基于 CourseID和CourseTitle 的主键约束来代替。D. 移除ClassroomID字段,并在 ClassroomNumber和ClassTime字段上以主键约束做基础。答案:A.&你设计了一个包含客户订单的数据库。客户每次下订单时都将订购多种的产品。你再观察如图所示的数据库 设计:CustomersOrdersProductsCustomarlD冒OrderlD戸斗ProductIDConipanyN8fn&ProdiK

14、tlCDescr ipkionAdriress匚UC_-OrderDdtaUnitPrlceCityQuantiStateCuetoinerlD你想缩短查询的响应时间和将数据冗余最小化。你应该怎么做?(数据库设计)A. 创建一个新的名为OrderDetail的订货表,为该表添加 OrderlD、ProductID、Quantity 字段。B. 在Orders表的OrderlD、ProductID 字段上创建一个混合的主键约束C. 从Orders表中除去ProductID、Quantity这两个字段.D. 在Orders表的OrderlD上创建一个唯一约束.E. 将UnitPrice这个字段从P

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

16、 Sales Found ”您该怎样创建该脚本? (存储过程)A.DECLARE retval intDECLARE ytd intEXEC get_sales_for_titleIF retval 0PRINT No sales found ELSEEtiqueNtetet ytd ,PRINT Year to date sales:GOytd) + STR (B.DECLARE retval intDECLARE ytd intEXEC get_sales_for_titleIF retval 0PRINT No sales found ELSE Net EtiyqtudeOttUeTPU

17、T ,PRINT Year to date sales:GOytd) + STR (C.DECLARE retval intDECLARE ytd intEXEC get_sales_for_titleIF retval 0PRINT No sales found ELSE Net ErtieqtuveatltOe UTPUT,PRINT Year to date sales:GOytd) + STR (D.DECLARE retval intDECLARE ytd intEXEC retval = get_sales_for_title Net EtyiqtdueOtUteTPUTIF re

18、tval 0PRINT No sales found ELSEPRINT Year to date sales: GOytd) + STR (答案: D 关键点在于要用变量来接受存储过程执行的结果,通过对结果的判断来确定打印出的信息10您是一集装箱制造公司的数据库开发者。 您的公司生产的集装箱是一些不同型号的。 存储集装箱信息的表如 下所示有 Size、Container 和 Shape 表。数据存储在表中的示例如图所示SizeContainerShapeSteaSizeNameHeightDOCortainerlDShapelD5izeIDShapelDShapertameMeasureme

19、nt在表中数据存储的实例如图中资料所示,SielDl-feightn-rriall斗i2IvfediLjnn503LargeSU1斗JumboIDOSkv TbleStixpc TaLlrShapeCDMeasurement11 rirngle1 j2Triangle2D3iriang a3DSquare2)5Squidre3D6Square407Circle15ECircle9Circle35集装箱的大小定期地改变。数据库用户经常需要一集装箱的体积。集装箱的体积是根据shape和size表中的信息计算的。您要隐藏计算的详细过程, 以使体积可以很容易的从对 containe表的SELECT语句

20、中得出,你应该做什 么?(存储过程/函数/触发器的不同用法)A. 创建一个以Con tai nerlD为输入参数并且能够返回集装箱的体积的用户自定义函数。B. 创建一个以ContainerlD为输入参数并且能够返回集装箱的体积的存储过程C. 为Container表添加一个名为 volume的字段。创建一个触发器来计算和存储体积当有一个新的集装箱插入表 中的时候.D. 给Container表添加一个计算列来计算集装箱的体积。答案:A.题意关键在于要在查询语句中实现返回体积的结果,只有函数能在查询语句中使用。11 你是一医院数据库的开发者,医院一共有26层,每一层有4个存放设备的房间。你设计一个可

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

22、xp_sendmail 系统存储过程来呼叫。D. 设置SQL server作业每隔4小时运行一次,配置该作业使用the notify_level_page = 2 argument.配置该作业让它测试列的大小它将触 发供应者被呼叫。答案:C.12 您是一数据库的开发者,该数据库用来报告时间。通常平均每次有5个用户同时访问该数据库,且查询响应时间小于1秒钟。然而,在星期五下午和星期一早上,当大多数雇员输入他们的时间,该数据库使用率增加到平均每次50个用户。在这段时间,查询响应时间增加到平均15到20秒。您要找到响应速度减慢的原因并解决问题。你该怎么做?(事务和锁的应用)A. 用sp_lock和s

23、p_who系统存储过程找出被锁定的资源和占用锁的进程。用这些信息来 识别和重设引起锁的事 务。B. 用系统表sysprocesses和sysobjects 找出死 锁的资源并确定访问该资 源的进程。C. 用系统表sysprocesses 找出哪个资源正在被 访问。在所有被 访问的表的主 键上添加聚集索引。D. 用sp_monitor系统存储过程来确认增加的查询时间影响了哪个进程。为该进程设置一个限制性 较小的事务隔 离级别。答案:A.13你是一家保险公司的数据库开发人员,公司有一个多层应用系统用来录入关于公司保险单和保险单所有者的数据。保险单所有者信息存储在 Owners 表中,用来创建这个表

24、的脚本如下所示: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)当保险单所有者的信息被录入时,如果所有者的出生日期没有被包括进来;数据库需要 产生一个自定义的错误信息在数据录入系统中显示。你需要为数据库设计一个方法能够 确认出生日期被提供,并在没有提供出生日期时产生一个错误,你该怎么做?A. 在BirthDate

25、 列添加一个CHEC约束B. 创建一个规则,并把这个规则和 BirthDate 列绑定C. 修改Owners表,使 BirthDate 列不允许为空D. 为 Owners 表创建一个触发器,使 BirthDate 列有效答案: D.CHECK勺束/规则都无法产生错误的信息项目,只有触发器可以。14你是一家大型 brewery 的数据库开发人员 。每一家工厂和设备的信息存储在一个名为 Equipment 的数据库 中.这工厂的信息存放在一名为Location的表中,设备的信息存放在一名为Parts的表中。用来创建这些表所使用的脚本如下所示:CREATE TABLE Location(Locati

26、onID 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 NULL,CONSTRAINT PK_Parts PRIMARY KEY (PartID),CONSTRAINT FK_PartsLocation FOREIGN KEY (Location ID)REFERENCES

27、Location (LocationID)The brewery可以用来关闭一些现有的工厂和打开一些新的工厂。当一家工厂被关闭时,有关工厂和所有设备的信息将从数据库中删除。你创建一个存储过程来完成这个操作。名为sp_DeleteLocation 存储过程如下所示:CREATE PROCEDURE sp_DeleteLocation LocName char(30)AS BEGINDECLARE PartID intDECLARE crs_Parts CURSOR FORSELECT p.PartIDFROM Parts AS p INNER JOIN Location AS 1ON p.Loc

28、ationID = l.LocationIDWHERE l.LocationName = LocNameOPEN crs_PartsFETCH NEXT FROM crs_Parts INTO PartIDWHILE (FETCH_STATUS -1)BEGINDELETE Parts WHERE CURRENT OF crs_PartsFETCH NEXT FROM crs_Parts INTO PartIDENDCLOSE crs_PartsDEALLOCATE crs_PartsDELETE Location WHERE LocationName = LocNameEND这个存储过程将要

29、花费比想像中还要长的时间来执行。 你需要减少这个存储过程的执行时间, 你该怎么做? (游 标的使用)A. 在定义过程中 添加 WITH RECOMPILE 选项 .B. 用单一的 DELETE 语句取代游标操作C. 在过程的开头添加一个 BEGIN TRAN 语句并在过程的结尾添加 COMMIT TRAN 语句D. 为这个过程设置事务处理隔离级别 READ UNCOMMITTEDE. 为 Parts 表的 PartID 字段添加一个非聚集索引 .答案 : B. 游标操作是在使用查询语句多个结果集中的一个值的时候起作用,它将耗费大量的时间,本题完全可以用两句DELETE语句就将Location表

30、和part表删除。无需使用游标15你是一家保险公司的数据库开发者,公司的保险单信息存储在一个SQL Server 2000数据库中,你使用如下所示的脚本为数据库创建了一个名为 Policy 的表:CREATE TABLE Policy(PolicyNumber int NOT NULL DEFAULT (0),InsuredLastName char (30) NOT NULL,InsuredFirstName char (20) NOT NULL,InsuredBirthDate datetime NOT NULL,PolicyDate datetime NOT NULL,FaceAmoun

31、t money NOT NULL,CONSTRAINT PK_Policy PRIMARY KEY (PolicyNumber) 每次公司卖出一份新的保险单时, policy 表就要增加一条记录,并赋予其一个新的保单号,你将怎么做?A. 创建一个INSTEAD OF INSERT触发器来产生一个新的保单号,并把这保单号插入到表中B. 创建一个INSTEAD OF UPDAT触发器来产生一个新的保单号,并把这保单号插入到表中C. 创建一个AFTER UPDAT触发器来产生一个新的保单号,并把这保单号插入到表中D. 用AFTER INSERT触发器来代替DEFAUL约束,产生一个新的保单号,并把这

32、保单号插入到表中 答案: A16你是一家通讯公司的数据库开发队的一个成员。在队上的另外一个开发者 , Marc ,在一个名为 Corporate的数据库中创建了一名为 Customers 的表。因为表包含的信息 , 他已经授权允许查询该表的只有队里的其他成 员。你正在开发一个应用程序用来允许销售部门的职员查看 Customers 表的一些信息。 这些职员是销售数据库角 色的所有成员。为了支持这一个应用程序,你在Customers表上创建一个被命名的vwCustomers的视图。 在创建视图之后 ,你授权具有销售角色的成员允许查询。 当销售角色的成员尝试从视图中取回数据的时候 ,他们接收以 下错

33、误信息 :SELECT permission denied on objectCustomers , databaseCorporate , owner Marc.你必须确定具有销售角色的成员只能使用vwCustomers视图来访问Customers表的数据。你应该做什么?(用户角色管理)A. 添加一个销售角色到固定的系统管理员服务器角色中。B. 将vwCustomers视图的所有权转移到销售角色中。C. 通知Marc将Customers表的所有权转移给销售角色的每个成员。D. 通知Marc授予用户查询Customers表的许可。E. 删除vwCustomers视图。通知Marc重建视图并且授

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

35、名字叫CS啲组。销售人员属于 Windows 2000 中的名字叫Marketing的组。你只允许客服人员通过客户端应用程序访问数据库,你又允许销售人员通过客户端 应用程序和Excel访问数据库。在数据库中没有授予任何许可权。你该怎么做呢?(应用程序角色的使用)A. 为销售人员创建数据库角色Marketing,为客服人员上创建角色 CustomerService,添加windows2000组到用户定义角色上,分配 SELECT所有表的权限给 Marketing角色,分配SELECT, INSERT, and UPDATE 所有表的权限给 CustomerService 角色。B. 创建一个被客

36、服人员与销售人员共有的应用程序角色,分配查询所有表的权限给 windows2000 Marketing组,分配 SELECT, INSERT, and UPDATE 所有表的权限给 windows 2000CSR 组。C. 为客户应用程序创建一个应用程序角色,授予这个应用程序角色 SELECT, INSERT and UPDATE 权限。为marketing雇员创建一个叫 Marketing 的数据库角色。添加 Windows 2000 Marketing 组到Marketing数据库角色。 分配Marketing数据库角色有查询数据库中的所有表的权限。D. 为客服人员创建一个应用程序角色,为

37、销售人员创建另一个应用程序角色,分配SELECT所有表的权限给销售人员角色,分配 SELECT, INSERT, and UPDATE 权限给客服人员角色。答案:C.这道题有两个任务,一是限制客服人员只能通过客户端应用程序访问数据库,二是允许销售人员通过客户端应用程序和EXCE程序来访问数据库,使用应用程序角色可以实现用户只能通过特定应用程序(例如使用Microsoft Excel )来访问数据或防止用户直接访问数据,限制用户的这种访问方式将禁止用户使用SQL Server应用程序(如 SQL查询分析器)连接到 SQLServer 实例。18你是某在线书籍零售数据库的开发人员,客户使用公司的w

38、eb站点来放置书籍订单。在订单被录入后,它们就被插入到BookOrders数据库中。在每晚的批处理过程中,订单的信息转移到Reports数据库中。Reports数据库包括一个Order表和一个Lin eItem表,Order表包括关于订单的基本信息,Lin eItem 表包括订单中个别项的信息。Order表和Lin eItem 表如下所示:OrderOrderlDCustornerlDQrderDaieLineitemitwdDOhMDProdcctlDPrica客户必须使用公司的web站点来浏览存储在Reports数据库中的订单。客户应该只能看 到他们自己的订单,但不能修改这些订单。订单的主

39、键值和客户是不相关的,并且是不 可见的,你应该怎么做呢?(视图、存储过程、函数的比较)A. 创建一个视图显示 ORDER表的客户信息B. 创建一个存储过程检索ORDER表的客户信息C. 创建一个用户自定义标量函数来检索ORDER的客户信息D. 授予客户对 Order表和Lineltem 表的查询权限 答案:B.使用视图,用户可以删除或修改客户信息;标量函数返回的是一个单值,我们需要的是一系列的信息,包括OrderDate, ProductID and Price ;授予用户对表的查询权限也能使得用户查看到其他用户的信息,只有使用存储过程才可以显示相应客户的订单信息CREATE PROCEDUR

40、E Customerl nfo (CustID as In teger)ASSELECT OrderDate, ProductID, PriceFROM Order INNER JOIN Lin eItemON Order.OrderID = Lin eItem.OrderIDWHERE Order.CustomerlD=CustlD19. 你是一家大型旅行公司的数据库开发者。关于公司每个部门的信息都被储存在一个名叫Department的表中。关于公司的每个旅行社代理商和部门经理的信息被储存在一Employeest的表中。SQLLogin列表示旅行社代理商和部门经理在数据库中的登陆信息,Dep

41、artment和Employees表将被给出。每个部门经理将被授予数据库管理者的角色。你需要使得这个数据库角色的所有成员能够看到department表中的所有数据并且这个角色的成员只能对department表中的属于他自己的部门的行进行插入和更新操作。你已经授予了这个数据库管理角色选择的权限, 接下来你要做什么? (视图的查询和更新)DeinartnwntDepflrlmentlD Department Name TotalBudcietEmployeesEmployee IDDepartrri&ntID EmployeeName 5QLLOginA. 在Department表上创建一个触发器

42、,来登记部门成员数据库登陆用户实行插入或更新操作是否属于这个部门 成员B. 创建一个视图包括 Department表的所有列和 Employees表的SQLLogin列在视图定义中包含WITH CHECK OPTION 项。C. 授予Department表的插入和更新权限.D. 授予Employees表的SQLLogin列插入和更新权限.答案:B.CREATE VIEW Solution ASSELECT Departme ntID, Departme ntName, TotalBudget, SQLLoginFROM Departme nt INNER JOIN EmployeesON De

43、partme nt.Departme ntID = Emplyees.Departme ntIDWHERE SQLLogi n = USER_NAME()WITH CHECK OPTIONUSER_NAME() 是取出当前用户登录名的函数.要求管理者的更新必须是对自己本部门的数据,所以使用withcheck option 选项。20. 你是你们公司销售数据库的开发者。这个数据库有个名字叫Order的表。创建表的脚本如下:CREATE TABLE Orders(OrderID int NOT NULL,CustomerID char (5) NOT NULL,OrderDate datetime

44、 DEFAULT GETDATE ( ) NULL,ShippedDate datetime NULL,Freight mo ney NULL,ShipName varchar (40) NULL)GOCREATE CLUSTERED INDEX IX_OrderlD ON Orders (OrderID)GOCREATE NONCLUSTERED INDEX IX_CustomerlD ON Orders (CustomerID)应用程序将为顾客执行下面的查询语句:SELECT OrderID, CustomerID, OrderDateFROM Orders WHERE Cus tomer

45、ID = WHITCORDER BY OrderDate DESC产生的查询实行计划如查询实行计划展览品中所示。查询实行计划:为了使这个查询语句效率高点。你应该作什么?(查询性能)A. 在OrderDate上创建非聚集索引B. 在OrderDate上创建一个聚集索引.C. 把OrderID上的群集索引换成非聚集索引D. 把OrderDate添加到CustomerID的非聚集索引中答案:D.在这个查询的运行过程中, 做了两个操作,利用非聚集索引ix_customerid对customerid的查询,耗费的成本的 2%;利用聚集索引查找 orderdate ,耗费成本的94%,应该将对orderd

46、ate的非索引结构进行改变, 添加到非聚 集索引中21 你正在为你的公司设计一个SQL Server 2000销售数据库,你们公司有很多基于网络的应用程序,它们要从销售数据库提取数据。其中的一些应用程序通过EXECUTE 语句来进行相应的查询操作。随着使用网络型应用程序的增加。查询将需要更长的时间来执行。如果你要开发一个能够传送大量查询语句给服务器的网络应用程 序。你要做什么?(事件探查器)A. 用SQL profiler去捕获RPC:Completed 事件,通过主机名数据列分类跟踪B. 用SQL profiler去捕获SQL:StmtCompleted 事件.通过应用程序名数据列分类跟踪C

47、. 用系统监视器监视SQLServer:Database counter.返回Sales数据库的统计信息D. 用系统监视器监视SQLServer:General Statistics counter.返回Sales数据库的统计信息 答案:B.SQL profiler是一个图形工具,使系统管理员得以监视SQL Server实例中的事件。可以捕获有关每个事件的数据并将其保存到文件或SQL Server表中供以后分析。例如,可以对生产环境进行监视,了解执行速度太慢而妨碍性能的存储过程。通过监视TSQL事件类并通过单步跟踪监视事件,可以监视应用程序查询。事件类SQL:StmtCompleted 显示批

48、处理的已完成的语句(事件探查器的演示)22 你是一家跨国公司数据库开发人员,公司在SQL Server 2000计算机上有一个集中式在线事务处理数据库。这个数据库有一个名为 Sales表,包括公司办事处统一整理过的销售信息。去年,150,000多行的数据被添加Sales 表查询的性到 Sales 表中,数据库用户反映随着年限的增长,数据库的性能在平稳地下降。你需要改善 能。在 SQL 查询分析器中你该执行哪个脚本?A. EXEC sp_updatestats resampleB. CREATE STATISTICS Sales WITH FULLSCANC. Sp_autostats Sale

49、s D. UPDATE STATISTICS Sales WITH FULLSCAN ALL答案: A.SQL Server 允许创建有关值在列中的分布情况的统计信息,该统计信息可供查询处理器用来确定最佳的查询评 估策略。在创建索引时, SQL Server 会自动存储有关值在索引列中的分布情况的统计信息。 SQL Server 中的 查询优化器使用这些统计信息估算使用该索引进行查询的成本。随着列中数据的更改,索引和列的统计信息可 能会过时,导致查询优化器选择的查询处理方法不是最佳的。 本题中由于添加了多行数据,所以对于统计信息要么重新创建,要么要进行更新。sp_updatestats res

50、ample 对当前数据库中所有用户定义的表运行 UPDATE STATISTICS ,继承旧统计表的采样 比率;CREATE STATISTICS statistics_name ON Sales (SalesID) WITH FULLSCAN;显示或更改索引或统计的自动 UPDATE STATISTICS 设置;UPDATE STATISTICS Sales WITH FULLSCAN, ALL23你是一个 SQL Server 2000 的在线交易处理的数据库的开发者。你写了许多存储过程来产生严格的报表。这 些存储过程能够访问存在的且带有索引的数据表。你在生产环境中运行存储过程之前,你要确

51、定存储过程的性 能比较的优越,你也要确定对数据库的日常操作没有受到不利的影响。你应该做什么 ?(索引优化向导的功能)A. 为包含在存储过程中的每个查询创建一个覆盖索引B. 为存储过程的每个查询创建一个包含 WHERE 子句的每个列的索引C. 从索引优化向导中用输出来确认索引是否应该被添加。D. 在 SELECT 和 WHERE 项的每个分析在所有列中创建一个统计表 .答案: C. 一方面使得存储过程的性能比较优越的方法是添加一定数量的索引,而这会造成对数据库的插入和更新操作受 到影响,使用索引优化向导可以解决这些矛盾,达到平衡(索引优化向导的演示)24你是一家保险公司的数据库开发人员,你被告知

52、数据库操作例如selects, inserts 和 updates 都比一年前刚创建时花费的时间长。以前的开发人员在数据库创建时给表添加了所需的索引。自从那以后,其他的表和存 储过程被添加到数据库中。除此之外,很多查询不再使用。你想改善数据库,使其有尽可能快的响应数度。你 该做什么?A. 对数据库执行 DBCC UPDATEUSA语句来更新sysindexes系统表B. 执行 DBCC SHOW_STATISTICS句找出高密度索弓 1( high-density indexes),删除这个索引C. 对工作负荷( workload )文件运行索引调整向导( Index Tuning Wizar

53、d ),来创建和 删除暗示的索引D. 使用SQI部署器找出表扫描(table scan ),并给有表扫描的数据表添加索引答案: C.25你是一家运动商品公司的数据库开发者。公司有一个主办公室和多个横穿美国的地方办公室。用一个56-Kbps 的架构继电器网络来连接各个办公室, 每个办公室有一个包含公司的产品资讯的 SQL Server 2000 数 据库。 主办公室的 SQL Server 数据库用来处理对地方办公室数据库的逐渐增加的更新,用事务响应来运行这些更新。在每一季,你创建一个新的快照文件,使用这个快照文件来代替地方的办公室的最新产品信息的数据库。 这个快照文件现在超过 800MB,你将

54、快照文件应用到地方的办公室的数据库中,要使用最少量的费用来完成这 项任务。你应该怎么做?(数据复制)A. 使用事务复制。为重新初始化做特定的标记。B. 拷贝快照到压缩共享的NTFS卷中。从共享的 NTFS上创建一个CD。分发该CD到地方办公室。C. 在分配器上的默认快照文件夹中创建一个压缩的快照。从那个文件夹中创建CD。把CD分配到该地方的办公室。D. 在网络上的一个其它的快照文件夹中创建一个压缩的快照。 从那个文件夹中创建 CD。分配该CD到地方的办公室。E在网络上的一个其它的快照文件夹中创建一个压缩的快照。使用FTP将快照分配到地方办公室。答案:D快照复制将数据以特定时刻的当时状态分发,不

55、监视对数据的更新。对于复制不经常更改的数据,或不要求保 持数据最新值的情况,快照复制是一种最好的数据复制方法。发布服务器是提供数据以便复制到其它服务器的服务器。分发服务器是包含分发数据库并存储元数据、历史数据和/或事务的服务器订阅服务器是接收复制数据的服务器。当快照文件太大以致于可移动媒体无法装下,或者需要通过较慢的网络进行传输时,可以选择对快照文件进行 压缩。在分发服务器上,不能压缩已写入默认快照文件夹的快照文件。自定文应用程序发布蚁擄庫丁快胆代理趕序T26. 你是某公司SQL Server 2000 数据库的开发人员,这个数据库包括一个Sales表,此表有2百万行。Sales表包括公司所有

56、部门的销售信息。每个部门通过表中的 查找某个单独部门的销售信息,你想提高这些查询的 么做?A. 创建一个新表,把经常查找的列移到此表中,将DepartmentID列进行识别。大多数对表的查询都是为了 I/O性能。然而,你不想影响访问表的应用程序,你该怎DepartmentID列保留在两个表中,创建一个原始表和新表的视图,在新表的连接(join )列添加外键(FOREIGN KEY约束B. 创建一个新的表,把经常查找的列移到此表中,将DepartmentID列保留在两个表中,创建一个原始表和新表的视图,在两个表的 DepartmentID列添加CHECKS束C. 为每个部门创建一个新的表,把每个

57、部门的销售信息移到部门表中,为新表的DepartmentID 列添加一个CHECK约束,为新的表创建一个视图D. 为每个部门创建一个新的表,并把每个部门的销售信息移到部门表中,创建一个新表的视图,给视图的DepartmentID 列添加一个CHEC约束E. 创建一个存储过程来接收一个部门输入的参数,使用存储过程返回Sales表的结果答案:C将表的数据按部门号进行分隔,可以提高查询性能27. 你是你公司SQL SERVER 2000数据库的数据库开发者。你正在删除数据库不会再使用的对象。你无法删 除视图1997Sales。经过调查你发现该视图有如下特性:(1) 该视图有一聚集索引(2) sale

58、s数据库角色有该视图的权限(3) 该视图有 WITH SCHEMABINDING 选项(4) 该视图有一个在线参考模式(5) 该视图上定义了一个 INSTEAD OF触发器在删除该视图前你该做什么?A. 删除该视图上的聚集索引B. 除去该视图上所有权限C. 除去该视图上的 WITH SCHEMABINDING 选项D. 除去参考该视图的函数上的WITH SCHEMABINDING 选项E. 禁用该视图上的INSTEAD OF 触发器答案:D课本426页,创建函数支持架构绑定,可以把函数绑定到它所引用的对象上,如表、视图等,一旦绑定,则被 绑定的对象不能被删除。28. 你是一家公司的数据库开发人

59、员,你正在为公司创建一个名为Huma nResources的数据库。这个数据库包含了员工的档案和人口统计的信息。公司有2000个员工,每年的人员流动率为2%,当员工离开公司后,所有关于他的记录都被保留做审核用,员工的人口 统计信息年变化率为9%,你不需要保留人口统计变化的历史记录。人力资源数据库架构如下的HumanResources Schema所示,下面的脚本将被使用来创建索弓I。Ei upluyeeDHiiiutjrdpI i 礼 sC olumn NameICDhd&ngpjd TypeMull ableEmploye elDintMOT NULLSendercharfl)M&T NUL

60、LDabcOfBirtlidatetimeMOT NULLNumter OFD即ondw n匕tirrfintMOT NULLExemptCmpHoyeebitMOT NULLStreet 1varthar(50)MOT NULLftreetaVachar(50)NULLCityUQT NULLStateIJOT NDLLPostfllCodevarchar(lO)MOT NULLEmployeeGolunin NaneCondensed TypetillableAFmnlnywTrill-MOT tdl II 1Lastfiamevarchar(SO)NOT NULLFirstnamevarchar(50)NOT NULLMiddleNanevarcharCSO)NULLDateHireddatetineNOT NULLDepartmentlDirtNOT NULLcharfll)NOT NULL用于创建索引的脚本显示如下:ALTER TABLE dbo.Employee WITH NOCHECK ADD CONSTRAINT pk_Employee PRIMARY KEY CLUSTERED(EmployeeID)WITH FILLFACTOR = 90GOALTER TABLE dbo.EmployeeDem

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!