《数据库题库.pdf》由会员分享,可在线阅读,更多相关《数据库题库.pdf(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1你是一数据公司的数据库开发者,你创建了一个用来存储 15个不同高校运动会统计表的数据库。这些信息将被用在 50家公司的网页设置上。每个公司的 WEB 设置以不同的格式来安排和显示这些统计表。你需要组装这些数据传送到这些公司去,你应该做什么?A.用包含 FOR XML 子句的 SELECT 语句来提取数据。B.使用sp_makewebtask系统存储过程,用 select 语句从数据的返回中产生 HTML。C.创建数据转换服务包从数据库中输出数据并且将数据放在带有分隔标记的文本文件中。D.使用SQL_DMO来创建一个应用程序把数据从数据库中取出并转换它.答案:A.2你是一邮件订购公司的数据库开
2、发者,该公司有两台名为 CORP1 和CORP2 的SQLServer2000的计算机。CORP1 是台在线处理事务的服务器。CORP2 存放销售的历史数据。CORP2 已经添加了一个连接服务器到 CORP1 上。销售部经理请你创建一个是谁购买软盘的用户清单。这清单每个月生成一次,软盘在数据库中用ID21来表示。你必须从一张名为SalesHistory的表中检索数据。该表放在本地的 CORP2 档案数据库中。你需要在 CORP1 上执行这个请求。你该选择哪个选项?A.EXEC sp_addlinkedserver CORP2,SQL ServerGO SELECT CustomerID FRO
3、M 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 sp_addserver CORP2 GO SELECT CustomerI
4、D FROM CORP2.Archive.dbo.SalesHistory WHERE CategoryID=21 答案:C.3你是一名 Trey Research 的数据库开发者,你创建两个事务来帮助将雇员的数据信息写入公司的数据库中。一个事物将雇员的姓名和地址插入数据库中,这个事务很重要,另外一个事务将雇员的人数统计插入到数据库中。这个事务不那么重要。在数据库使用的高峰期,在服务器有时遇到错误的期间管理员会通知。每次发生时,数据库服务器会随机地终止其中一个事务。你必须确定当服务器终止其中一个事务时,它不会终止比较重要的那个事务。你应该做什么?A.为插入雇员姓名和地址信息的那个事务设置 DE
5、ADLOCK_PRIORITY to LOW 选项B.为插入雇员人数信息的那个事务设置 DEADLOCK_PRIORITY to LOW 选项C.为插入雇员姓名和地址信息的那个事务添加一个检查1205服务器错误的条件代码。如果这个错误被遇到,重新启动该事务。D.在事务中添加一个 ROWLOCK优化提示给 SQL 数据操作语句。E.为插入雇员姓名和地址信息的那个事务设置隔离级别给 SERIALIZABLE.答案:B.4你是公司的 SQL Server 2000 在线事务处理数据库的开发者.很多表中有一千甚至更多行。所有的表都有一聚集索引。大量地访问表至少要有一个非聚集索引。在数据库服务器上数据文
6、件将包含有 2个RAID阵列。你想要排列这些表和索引以确保最佳的输入/输出性能。你在每个RAID 阵列上创建一个文件组,你接下来应该做什么?A.把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表的所有索引放在不同的文件组中。B.把经常连接在一起的表放在同一个文件组中。把大量访问的表和属于这些表的非聚集索引放在同一个文件组中。C.把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的非聚集索引放在不同的文件组中。D.把经常连接在一起的表放在不同的文件组中。把大量访问的表和属于这些表的非聚集索引放在同一个文件组中。答案:C 5你是你公司 SQL Server 2000
7、 数据库的开发者。你在数据库中更新一些为销售部门创建新的月底报表的存储过程。这存储过程包括从三个或更多的表中检索数据的复杂请求。在数据库中所有的表至少有一个索引。用户报告说有一个新的月底报表的运行比以前版本的报表的运行来的慢。你想要提高这些报表的性能,你应该做什么?A.为每个存储过程创建一个包含数据定义语言的脚本。为索引调整向导使用这个脚本作为工作负荷记录文件B.在SQL 跟踪事件探查器捕获每一个存储的执行过程。为索引调整向导使用跟踪文件作为工作负荷记录文件C.在使用存储过程的表中更新统计表D.在查询分析器中执行每一个存储过程,并使用Show Execution Plan选项E.在查询分析器中
8、执行每一个存储过程,并使用Show Server Trace 选项答案:E6你是一个 wide world importers 公司的数据库开发人员,你创建了用来存储订单的数据库。订单将被输入客户/服务器应用程序中。每次有一个新订单被输入,并被赋予一个唯一的编号,按升序排列。每天平均有 10000个订单被输入。你创建一个名为 Orders的新表并在其中添加一个OrderNumber 字段。接下来你应该做什么?A.为该字段设置全局唯一标识符的数据类型。B.为该字段设置 int 数据类型,并为该字段设置一致性的属性。C.为该字段设置 int 数据类型。在表中创建一个用户自定义函数用于查看订单编号的
9、最大值。D.为该字段设置 int 数据类型。创建一个名为NextKey的表,并在其中添加 NextOrder 字段。将该字段的数据类型设置为int。在NextKey表中创建一个存储过程用于检索更新value held。答案:B.7你是一个技术培训中心数据库开发者。通常地,用书面管理雇员的学历、教师、课程和教室安排。这个培训中心希望通过开发一个数据库录入信息来实现无纸化记录。你为这个数据库设计表,设计如图你想缩短查询的响应时间和将数据冗余最小化。你应该做什么?A创建一个名为 Instructors的新表。包含 InstructorID、InstructorName、OfficePhone等字段,
10、为添加一个 Courses表添加 一个名为InstructorID的字段。B将Classroom中的所有字段复制到 Courses,并删除 Classroom表。C 移除 Courses表的主键约束用一个基于 CourseID和CourseTitle的主键约束来代替。D 移除 ClassroomID字段,并 在ClassroomNumber和ClassTime字段上以主键约束做基础。答案:A.8你设计了一个包含客户订单的数据库。客户每次下订单时都将订购成倍的产品。你再观察如图所示的数据库设计:你想缩短查询的响应时间和将数据冗余最小化。你应该怎么做?A创建一个新的名为 OrderDetail 的
11、订货表,为该表添加 OrderID、ProductID、Quantity字段。B在Orders表的OrderID、ProductID 字段上创建一个混合的主键约束C 从Orders表中除去 ProductID、Quantity 这两个字段.D 在Orders表的OrderID 上创建一个唯一约束.E将UnitPrice 这个字段从 Products 表移动到 Orders表.答案:A,C.9您是一出版社公司的数据库开发者。你创建以下存储过程来为特殊的书名报道每年每日的销售情况CREATE PROCEDURE get_sales_for_title%title varchar(80),ytd_s
12、ales int OUTPUT AS SELECT ytd_sales=ytd_sales FROM titles WHERE title=title IF ROWCOUNT=0 RETURN(-1)ELSE RETURN(0)您创建一个脚本来执行这个存储过程。如果该存储过程成功执行,它应报道每年每日书的销售情况。如果失败,则将返回如下信息:“No Sales Found”您该怎样创建该脚本?A.DECLARE retval int DECLARE ytd int EXEC get_sales_for_title,Net Etiquette?,ytdIF retval 0 PRINT,No s
13、ales 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 OUTPUTIF retval 0 PRINT,No sales found?ELSE PRINT,Year to date sales:?+STR(ytd)GO C.DECLARE retval int DECLARE ytd int EXEC get_sales_for_title,Net Etiquette?,retval
14、 OUTPUTIF 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 OUTPUTIF retval 0 PRINT,No sales found?ELSE PRINT,Year to date sales:?+STR(ytd)GO 答案:D 10您是一集装箱制造公司的数据库开发者。您的公司生产的集装箱是一些不同型号的。存储集
15、装箱信息的表如下所示有Size、Container和 Shape表。数据存储在表中的示例如图所示在表中数据存储的实例如图中资料所示,集装箱的大小定期地改变。数据库用户经常需要一集装箱的体积。集装箱的体积是根据shape和 size 表中的信息计算的。您要隐藏计算的详细结果,以便the volume can be easily accessed in a SELECT query with the rest of the container information。你应该做什么?A.创建一个以 ContainerID 为根据并且能够清空集装箱的体积的用户自定义函数。B.创建一个以 Contain
16、erID 为根据并且能够清空集装箱的体积的存储过程.C.为 Container 表添加一个名为volume 的字段。创建一个触发器来计算和存储体积当有一个新的集装箱插入表中的时候.D.给 Container表添加一个计算列来计算集装箱的体积。答案:A.11你是一医院数据库的开发者.医院一共有 26 层,每一层提供了4 个房间。你设计一个控制物品清单的数据库。某些使用方便的列 须每次都存 储。当使用某一个列 时,键用来减少计算数据 库里的物品清 单。供应管理者 应在可用空 间少于列的最小 值时翻页。你该怎么做?A.创建一个用来更新inventory表的存 储过程。如果结果小于重新 储存量,使用
17、xp_logevent存储过程来翻页。B.在 inventory表上创建一个 INSTEAD OF UPDATE 触发器。如果 inserted表中的数量小于重新储存量,使用 SQLAgentMail 来发送 e-mail 信息给翻页者C.在 inventory表上创建一个 FOR UPDATE 触发器.如果 inserted表中的数量小于重新 储存量,使用 xp_sendmail 系统存储过程来翻 页。D.设置 SQL server 作业每隔 4 小时运行一次,配置该作业使用 the notify_level_page=2 argument.配置该作业让它测试列的大小它将触 发供应者翻页。答
18、案:C.12您是一数据库的开发者,该数据库用来报告时间。通常平均每次有5 个用户同时访问该数据库,且查询响应时间小于1 秒钟。然而,在星期五下午和星期一早上,当大多数雇员输入他们的时间,该数据库使用率增加到平均每次50 个用户。在这段时间内,查询响应时间增加到平均 15到 20 秒。您要减慢响应速度的原因并解决问题。你该怎么做?A.用 sp_lock 和 sp_who系统存储过程找出 锁的资源和占用 锁的进程。用这些信息来 识别和重设引起锁的事务。B.用系统表 sysprocesses 和 sysobjects找出死 锁的资源并确定访问该资 源的进程。C.用系统表 sysprocesses 找
19、出哪个资源正在被 访问。在所有被 访问的表的主 键上添加聚集索引。D.用 sp_monitor 系统存储过程来确认增加的 查询时间 影响了哪个进程。为该进 程设置一个限制性 较小的事 务隔离级别。答案:A.13你是一保 险公司的数据 库开发 者。该保险公司有一 应用程序用来 输入关于它的政策和其所有者的数据。该政策所有者信息存 储在 Owners表中。建 该表的脚本如下所示:CREATE TABLE Owners(OwnerID int IDENTITY(1,1)NOT NULL,FirstName char(20)NULL,LastName char(30)NULL,BirthDate da
20、te NULL,CONSTRAINT PK_Owners PRIMARY KEY(Owner ID)当输入所有者的信息,所有者的出生日期不存在,该数据库需 产生一定的 错误信息项目,该信息可通 过数据登 记程序来 显示。您需要为该数据库设计 一个方法来 确认出生日期已提供,如果没有则产生错误信息。你该 怎么做?A.在 BirthdayDate列中添加 CHECK 约束。B.创建一个 规则,并将其 绑定到 BirthdayDate列中。C.修改 Owners表,不允 许 BirthDate列为空。D.在 Owners中创建一个触 发器来确认 BirthDate列。答案:D.14你是一家大型bre
21、wery 的数据库开发人员。每一家工厂和设备的信息存储在一个名为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
22、 NULL,PartName char(30)NOT NULL,CONSTRAINT PK_Parts PRIMARY KEY(PartID),CONSTRAINT FK_PartsLocation FOREIGN KEY(Location ID)REFERENCES Location(LocationID)The brewery用来关闭一些现有的工厂和打开一些新的工厂。当一家工厂被关闭时,有关工厂和所有设备的信息将从数据库中删除。你创建一个存储过程来完成这个操作。名为sp_DeleteLocation 存储过程如下所示:CREATE PROCEDURE sp_DeleteLocation L
23、ocName char(30)AS BEGIN DECLARE PartID int DECLARE crs_Parts CURSOR FOR SELECT p.PartID FROM Parts AS p INNER JOIN Location AS 1 ON p.LocationID=LocName 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_Par
24、ts FETCH NEXT FROM crs_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 UNCO
25、MMITTEDE.为 Parts 表的 PartID 字段添加一个非聚集索引.答案:B.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 dat
26、etime NOT NULL,FaceAmount money NOT NULL,CONSTRAINT PK_Policy PRIMARY KEY(PolicyNumber)每次公司卖出一条新的保险单,保险单必须被指定一个保险单号码。当一条新的保险单信息被输入时数据库必须指定一个新的保险单号码。你应该做什么?A.创建一个 INSTEAD OF INSERT 触发器来产生一个新的保险单号码并且包括把它插入表中。B.创建一个 INSTEAD OF UPDATE 触发器来产生一个新的保险单号码并且包括把它插入表中。C.创建一个 AFTER UPDATE 触发器来产生一个新的保险单号码并且包括把它插入
27、表中。D.用AFTER INSERT 触发器来取代 DEFAULT 约束并产生一个新的保险单号码并且包括把它插入表中。答案:A 16你是一家通讯公司的数据库开发队的一个成员。在队上的另外一个开发者,Marc,在一个名为 Corporate 的数据库中创建了一张名为Customers 的表。因为表包含机密的信息,他已经授权允许查询该表的只有队里的其他成员。你正在开发一个应用程序用来允许销售部门的职员查看 Customers表的一些信息。这些职员是销售数据库角色的所有成员。为了支持这一个应用程序,你在Customers表上创建一个被命名的 vwCustomers 的视图。在创建视图之后,你授权具有
28、销售角色的成员允许查询。当销售角色的成员尝试从视图中取回数据的时候,他们接收以下错误信息:SELECT permission denied on object,Customers?,database,Corporate?,owner,Marc?.你必须确定具有销售角色的成员只能使用 vwCustomers 视图来访问 Customers 表的数据。你应该做什么?A.添加一个销售角色到固定的系统管理员服务器角色中。B.将 vwCustomers 视图的所有权转移到销售角色中。C.通知Marc将Customers表的所有权转移给销售角色的每个成员。D.通知Marc授予用户查询 Customers表
29、的许可。E.删除 vwCustomers 视图。通知Marc重建视图并且授予销售角色的用户查询视图的权限。答案:E.17你正在为你的公司设计一个SQL Server 2000 销售数据库,它能够被客户端的应用程序访问。客服人员和销售人员对数据库中的所有表格应具有插入,删除和查询的权限。另外,使用客户端程序时候,销售人员将由会把数据库中的表通过Excel 导出成图解。客服人员属于Windows 2000中的名字叫 CSR 的组。销售人员属于 Windows 2000中的名字叫 Marketing 的组。你只允许客服人员通过客户端应用程序访问数据库。你却允许销售人员通过客户端应用程序和Excel
30、访问数据库。在数据库中没有授予任何许可权。你该怎么做呢?C.为客户应用程序创建一个应用程序角色,授予这个应用程序角色 SELECT,INSERT and UPDATE 权限。为marketing 雇员创建一个叫 Marketing 的数据库角色。添加 Windows 2000 Marketing 组到Marketing数据库角色。授予数据库中的所有表有查询Marketing 数据库角色的权限。答案:C.18你是一个在线书店零售商的数据库开发者。客户通过公司的网站订购书。一旦顾客填写了订单,订单的信息将存入一个名为 BookOrders 的数据库内。经过批处理后,订单信息将被转化到一个名叫 Re
31、ports数据库内。这个数据库含有两个表,一个叫 Order,另一个叫 LineItem。Order表包括了订单的一些基本信息。LineItem表则包含了订单中一些涉及私人的信息。Order 和LineItem表是将要被给出的。为了使顾客能够通过公司的网站察看而且只能察看自己的订单信息。顾客不能够修改提交过的订单信息。订单的主键和顾客是不相关的,而且是不可见。你应该怎么做呢?A.创建一个视图显示ORDER 表的客户信息B.创建一个存储过程检索ORDER 表的客户信息C.创建一个scalar user-defined function来检索ORDER的客户信息D.授予客户对Order 表和 Li
32、neItem 表的查询权限答案:B.19你是一家大型旅行公司的数据库开发者。关于公司每个部门的信息都被储存在一个名叫Department的表中。关于公司的每个旅行社代理商和部门经理的信息被储存在一张Employeest的表中。Department和Employees表将被给出。每个部门经理将被授予数据库管理者的角色。你需要使得这个数据库角色的所有成员能够看到department 表中的所有数据。这个角色的成员只能对 department 数据库的行进行插入和更新操作。你已经授予了这个数据库管理角色选择的权限,接下来你要做什么?A在Department表上创建一个触发器,来登记部门成员数据库登陆
33、用户实行插入或更新操作是否属于这个部门成员B创建一个视图包括 Department表的所有列和 Employees表的SQLLogin列C在视图定义中包含WITH CHECK OPTION 项。D授予 Department表的插入和更新权限.E授予 Employees表的SQLLogin列插入和更新权限.答案:B.20你是你们公司销售数据库的开发者。这个数据库有个名字叫Order 的表。创建表的脚本如下:CREATE TABLE Orders(OrderID int NOT NULL,CustomerID char(5)NOT NULL,OrderDate datetime DEFAULT G
34、ETDATE()NULL,ShippedDate datetime NULL,Freight money NULL,ShipName varchar(40)NULL)GO CREATE CLUSTERED INDEX IX_OrderID ON Orders(OrderID)GO CREATE NONCLUSTERED INDEX IX_CustomerID ON Orders(CustomerID)应用程序将为顾客执行下面的查询语句:SELECT OrderID,CustomerID,OrderDate FROM Orders WHERE CustomerID=,WHITC?ORDER BY
35、 OrderDate DESC产生的查询实行计划如查询实行计划展览品中所示。查询实行计划:为了使这个查询语句效率高点。你应该作什么?A.在 OrderDate上创建非群集索引B.在OrderDate上创建一个群集索引.C.把 OrderID 上的群集索引换成非群集索引D.把OrderDate添加到 CustomerID的非群集索引中答案:D.21你正在为你的公司设计一个SQL Server 2000销售数据库,你们公司有很多基于网络的应用程序,它们要从销售数据库提取数据。其中的一些应用程序通过EXECUTE 语句来进行相应的查询操作。随着使用网络型应用程序的增加。查询将需要更长的时间来执行。如
36、果你要开发一个能够执行大量查询语句的网络应用程序。你要做什么?A.用SQL profiler去捕获 RPC:Completed 事件,通过HostName 数据列分类跟踪B.用SQL profiler 去捕获 SQL:StmtCompleted 事件.通过ApplicationName数据列分类跟踪C.用系统监视器监视SQLServer:Database counter.Select all counters for the Sales database D.用系统监视器监视SQLServer:General Statistics counter.Select all counters for
37、 the Sales database.答案:B.22你是一个跨国公司的数据库开发者。公司有一个在 SQL Server 2000的在线交易处理的数据库。这个数据库有一个销售表,它里面包含了公司的一些固定的信息。在过去的一年,已经有 150,000 行数据被加到销售数据库中。数据库使用者说数据库慢慢的变得不太好用了。你为了改变数据库的查询销售表的能力,在SQL 的查询分析器中要执行哪个脚本语句?A.EXEC sp_updatestats resample B.CREATE STATISTICS Sales WITH FULLSCAN C.Sp_autostats,Sales?D.UPDATE
38、STATISTICS Sales WITH FULLSCAN ALL 答案:A.23你是一个 SQL Server 2000 的在线交易处理的数据库的开发者。你写了许多存储程序来产生严格的报表。这些存储程序能够访问存在的且索引的数据表。你把储存程序放在生产环境前,你要确定新储存程序有最佳的表现。你也确定数据库的每日操作没被不利的东西影响。你应该做什么?A.为包含在存储过程中的每个分析创建一个覆盖索引B.为存储过程的每个查询创建一个包含WHERE项的每个列的索引C.从索引运行向导中用输出来确认索引是否应该被添加。D.在SELECT and WHERE 项的每个分析在所有列中创建一个统计表.答案:
39、C.24你是一个保险公司的数据库开发者。你知道如果数据库在一年前就被生成,那么要执行selects,inserts,and updates操作就需要更长的时间。前期数据库开发者在开发前加入了必要的索引。从那时起,其他的储存过程和表也被加入到数据库中。另外,许多查询都已经没用过了。你为了使数据库的相应时间尽可能加快,你要做什么?A.执行 DBCC UPDATEUSAGE 语句阻止数据库去更新 sysindexes 系统表B.执行 DBCC SHOW_STATISTICS 语句找到高密度的索引。删除高密度索引C.运行索引运行向导阻止a workload file 支持索引创建和删除被建议的索引。D
40、.用 SQL profiler 寻找表扫描.添加索引到被发现表扫描的表当中.答案:C.25你是一家运动商品公司的数据库开发者。公司有一个主办公室和多个横穿美国的地方办公室。一个56-Kbps 的架构继电器网络连接办公室。每个办公室有一个包含公司的产品资讯的 SQL Server 2000 数据库。主办公室的 SQL Server 数据库用来处理对地方办公室数据库的逐渐增加的更新。用事务响应来运行这些更新。在每四分之一处,你创建一个新的快照文件。你使用这个快照文件来代替地方的办公室和最近的产品信息的数据库。这个快照文件现在超过 800MB。你将快照文件应用到地方的办公室的数据库中。你想要使用最少
41、量的费用来完成这项任务。你应该怎么做?A.使用事务复制。为重新初始化做特定的标记。B.拷贝快照到压缩共享的NTFS 卷中。从共享的 NTFS 上创建一个 CD。分配该 CD 到地方办公室。C.在分配器上的默认快照文件夹中创建一个压缩的快照。从那个文件夹中创建CD。把 CD 分配到该地方的办公室。D.在网络上的一个其它可能的快照文件夹中创建一个压缩的快照。从那个文件夹中创建光盘。分配该光盘到地方的办公室。E.在网络上的一个其它可能的快照文件夹中创建一个压缩的快照。使用 FTP 将快照分配到地方办公室。答案:D 26 你是你公司的SQL Server 2000 的数据库开发者.这一个数据库包含一命
42、为Sales的表,该表有二百万个列。Sales 表包含了公司所有部门的售卖信息。每个部门被标识于表的DepartmentID 列中。大多数的访问反对用来为一个单一部门查找销售的表。你要提高这些访问的 I/O 性能。然而,你不想影响访问表的应用程序。你应该怎么做?A创建一个新的表,并且移动被最时常访问到的这个表的列。在两个表中保存DepartmentID列。在源表和新的表上创建一个视图。在新的表联结列上加入的一个外键约束。B创建一个新的表,并且移动被最时常访问到的这个表的列。在两个表中保存DepartmentID列.在源表和新的表上创建一个视图。在两个表的DepartmentID 列上加入一个
43、CHECK 约束。C为每个部门创建一个新的表,而且为每个部门将售卖信息移动到那部门的表中。在新表的DepartmentID 列上加入的一个 CHECK 约束。在新表上创建一个视图。D为每个部门创建一个新的表,而且为每个部门将售卖信息移动到那部门的表中。在新表上创建一个视图。在视图的DepartmentID 列上加入一个 CHECK 约束。E 为部门创建一个接受一个输入叁数的存储过程。使用该存储过程返回来自Sales表的结果。答案:C 27你是你公司 SQL SERVER 2000数据库的数据库开发者。你正在删除数据库不会再使用的对象。你无法删除视图1997Sales。经过调查你发现该视图有如下
44、特性:(1)该视图有一聚集索引(2)sales数据库角色有该视图的权限(3)该视图有 WITH SCHEMABINDING 选项(4)该视图有一个在线参考模式(5)该视图上定义了一个INSTEAD OF 触发器在删除该视图前你该做什么?A 删除该视图上的聚集索引B 除去该视图上所有权限C 除去该视图上的WITH SCHEMABINDING 选项D 除去参考该视图的函数上的WITH SCHEMABINDING 选项E 禁用该视图上的INSTEAD OF 触发器答案:D 28你是proseware inc 的数据库开发者。你为公司创建一个名为 humanresources 的数据库。这个数据库包含
45、所有雇员的记录和人口统计数据。这家公司有2,000个雇员和有经验的以每年2%的回转率。当他们离开公司是,他们所有的记录必须保存为auditing处理。雇员的人口统计数据以每年 9%的改变率变化。你没必要维持人口统计的数据改变的历史。HumanResources的表格显示如下,和用于创建索引的脚本也显示如下:HumanResources Schema:ALTER TABLE dbo.Employee WITH NOCHECK ADD CONSTRAINT pk_Employee PRIMARY KEY CLUSTERED(EmployeeID)WITH FILLFACTOR=90 GO ALTE
46、R TABLE dbo.EmployeeDemographics WITH NOCHECK ADD CONSTRAINT dbo.EmployeeDemographics PRIMARY KEY CLUSTERED(EmployeeID)WITH FILLFACTOR=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你是公司
47、 sql server 2000 数据库的开发者。这个数据库包含一个名为products表格和一个名为companies 的表格。你需要用连接服务器插入新的产品信息到products表格中。这个产品表格有个主键是 companies表格的外键的约束。在 products表格上定义了一个更新触发器。你需要尽可能快的导出数据。你该怎么做?A使用 alter table 语句和 on update 项目来修改products 表格。B使用 alter table 语句和禁用触发器的所有选项来修改products 表格。C使用 alter table 语句和禁用触发器的所有选项来修改companies
48、 表格。D使用 alter table 语句和 nocheck constraint 选项来修改companies 表格。E使用 alter table 语句和 nocheck constraint 选项来修改products 表格。答案:E 30你是公司会计数据库的开发者。数据库包含一个名叫Employees的表。Tom 是会计部门的一个成员。Tom 的数据库用户帐户对表Employees 里的列 Salary 和 BonusPercentage的SELECT 权限被拒绝,被授予对其他列的SELECT 权限。Tom现在要求访问 Employees表里的所有数据。你该怎么做?A废除 Tom 数
49、据库用户帐户对表Employees里的列 Salary 和 BonusPercentage的 SELECT权限B添加 Tom到 db_datareader角色C添加 Tom到 db_accessadmin 角色D授予 Tom 数据库用户帐户对表Employees里的列 Salary 和 BonusPercentage的 SELECT权限。答案:D 31你是一个玩具制造厂商的数据库开发者。公司里的成员有主管,管理阶层以及职员。公司内部网络首页显示了根据客户需要修改的每个阶层的员工的信息。当有一员工登陆到公司内部网时,首页验证职工的身份然后显示其充用?的公司信息。公司信息保存在库corporate
50、里的 News表中,创建新数据库表的语句如下所示:CREATE TABLE News(NewsID int NOT NULL,NewsText varchar(8000)NOT NULL,EmployeePositionType char(15)NOT NULL,DisplayUntil datetime NOT NULL,DateAdded datetime NOT NULL DEFAULT(getdate(),CONSTRAINT PK_News PRIMARY KEY(NewsID)企业内部网的用户需访问News 表,但不能插入、更新或删除表里的数据。你基于你的职位要将充用?信息传递到企