数据库程序设计
——SQL Server 2000数据库程序设计
(MCP 70-229)
考试模拟题
1.你是公司的SQL Server 2000联机事务处理数据库的数据库开发人员。许多表有一百万或更多的行,所有的表都建立了一个簇索引,经常存取的表另外还至少有一个非簇索引,两个数据库服务器上的RAID 阵列存储数据文件,你想设置表和索引以取得最佳的I/O性能。
你在每个RAID阵列上建立了一个文件群,下一步你将作什么?
A. 设置频繁的互相连接的表加入同一个文件群,设置经常存取的表和所有的属于这些表的索引到另
一个文件群。
B. 设置频繁的互相连接的表加入同一个文件群,设置经常存取的表和所有的属于这些表的非簇索引
到不同的文件群。
C. 设置频繁的互相连接的表加入不同的文件群,设置经常存取的表和所有的属于这些表的非簇索引
到不同的文件群。
D. 设置频繁的互相连接的表加入不同的文件群,设置经常存取的表和所有的属于这些表的非簇索引
到同一个文件群。
正确答案:C
2.你是一个数据公司的数据库开发人员,你建立了一个存储了15个不同的高中运动成绩的统计数据库,这些信息将被50个在Web站点上发布运动信息的公司使用,每个公司的站点安排和使用这些统计数据的格式是不同的。
你要将数据打包传送给公司,你将怎么做?
A. 使用包含FOR XML选项的SELECT语句提取数据。
B. 对SELECT语句返回的数据使用sp_makewebtask系统存储过程来生成HTML数据。
C. 对数据库输出的数据建立数据转换服务包,形成使用TAB界定符的文本文件。
船到桥头自然直英文
D. d.建立一个使用SEL_DMO的应用程序来提取数据库中的数据,并将这些数据转换到标准EDI
(electronic data interchange)文件。
正确答案:A
3.你是一个邮购公司的数据库开发人员,公司有两台使用SQL Server2000的计算机,分别为CORP1和CORP2。CORP1是一台联机事务处理服务器,CORP2存储销售历史数据。CORP2作为一台连接服务器到CORP1上。销售部经理要求你建立一个购买软盘的客户的列表,这个列表将每个月产生一次邮购的奖品,软盘在数据库中的类别ID为21。
你必须从一个名为SalesHistory的表中刷新这个信息,这个文件存储在CORP2的一个数据库上,你要从CORP1上执行这个查询,你将使用哪条脚本语句查询?
utmostA. EXEC sp_addlinkedrver ‘CORP2’, ‘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 sp_addrver ‘CORP2’
atqGO
SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory
WHERE CategoryID = 21
正确答案:C
4.你是一个保险公司的数据库开发人员,这家保险公司有一个用于保单或保单所有者的多层的应用。保单所有者信息存储在一个名为Owners的表中,下面的语句用于建立这个表,当保单所有者的信息输入时,若不包括所有者的出生年月,数据库要产生一个错误信息。你要设计一个方法来校验出生日期数据是否填写,没有的情况下要显示错误信息。
你将怎么做?
A. 在BirthDate 字段上加上CHECK约束。
B. 建立一个规则,并将这个规则绑定在BirthDate字段上。
C. 改变Owners表使BirthDate字段不能为空。
D. 在Owners表上建立一个触发器校验BirthDate字段。
正确答案:D
5.你是公司的SQL Server2000数据库开发人员,你修改了数据库中的几个存储程序来建立销售部的月底报表,程序中包含了从三个或更多的表中提取的数据的复杂查询,所有这些表都至少有一个索引。用户报告说这些月底报表比以前的版本的明显要慢,你要改进这些报表的性能,将怎么做?
A. 对每个存储程序建立一个使用DDL的脚本,使用这个脚本统计工作量作为索引调整的Wizard。2013年高考题
B. 在SQL Profiler中捕捉每个存储程序的执行信息,使用这个信息文件统计工作量作为索引调整的
Wizard。
C. 修改用于存储程序的表的索引统计信息。
D. 在SQL查询分析器中执行每个存储程序,使用Show Execution Plan选项。
E. 在SQL查询分析器中执行每个存储程序,使用Show Server Trace选项。
依靠英文
正确答案:E
6.你设计了用于购买音乐会票的站点的数据库,在买票的过程中,用户先查看余票的列表,决定是否购买;余票的列表对应于一个指针。对于流行音乐会,可能数以千计的观众可能在同时购票,由于这个原因,你必须允许尽量多的对数据的同时存取。你将怎样设计这个指针?
A. 建立基于外在事务的指针,并设置事务孤立处理级别为REPEATABLE READ.
B. 建立使用乐观的并发性和立即修改的指针,在指针中,设置外在事务的属性为立即修改。
C. 建立使用乐观的并发性的指针,在指针中,使用UPDATE语句并置为在WHERE语句处直接修改
onclick关键字,并将UPDATE语句置于内在事物的处理中。
D. 建立使用位置修改的指针,包括SCROLL_LOCKS参数定义强制的悲观的并发性。在指针中,设
置内在事物的UPDATE属性。
正确答案:B
7.你是一个集装箱制造公司的数据库开发人员,公司制造的集装箱有不同的尺寸和形状,存储的集装箱信息的表有Size、Container、Shape,如图所示。
数据存储在表中的例子如下图所示。
一般来说,集装箱的尺寸周期性的改变,数据库的用户需要知道集装箱的容量,容量是基于Shape、size 表中的数据计算得到的。你要隐藏计算的细节,使用一个SELECT查询可以方便的得到,你将怎
么做?
A. 建立一个用户定义的函数,使用ContainerID作为参数,返回集装箱的容量。
B. 建立一个程序,使用ContainerID作为参数,返回集装箱的容量。
C. 在Container表中加入名为volume的一列,当一个新集装箱加入表中时,建立一个触发器计算和
存储这列的值。
D. 在Container表中加入一个计算过的列计算集装箱的容量。
正确答案:A
8.你是一个大型旅游公司的数据库管理员,公司的每个部门的信息存储在名为Department的表中,公司
的旅游代理和部门经理的信息存储在名为Employees的表中,其中的SQLLogin字段包括了旅游代理或部门经理的登录数据库的口令,如图所示。
每个部门经理都被加入管理数据库成员。你需要允许这个数据库的成员察看department表,成员只有对自己部门的记录有增加或修改的权力。你赋予管理数据库的成员以查询Department表的权限,下一步做什么?
A. 在Department表上建立一个触发器,检查登录数据库、执行插入修改操作的用户是否是那个部门
的成员。
B. 建立一个包含Department表所有字段和Employees表中的SQLLogin字段的视图。
dmagazineC. 在视图定义中包括WITH CHECK OPTION选项。
D. 在Department表中赋予INSERT和UPDATE的权限。
E. 在Employees表中的SQLLogin字段上赋予INSERT和UPDATE的权限。
正确答案:B
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
六级考试2021时间RETURN(0)
另外建立了一个脚本执行这个存储过程,如果执行成功,将返回对应于书名的每天的销售情况的报表,如果执行失败,将返回“No Sales Found”,怎样建立这个脚本?
A. DECLARE @retval int
DECLARE @ytd int
EXEC get_sales_for_title ‘Net Etiquette’, @ytd
IF @retval < 0
cty
PRINT ‘No sales found’
ceen
ELSE
PRINT ‘Year to date sales: ’ + STR (@ytd)
GO
B. DECLARE @retval int
DECLARE @ytd int