sql2005(niit)+test

更新时间:2023-12-31 07:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.请考虑“书名”表的以下结构: Titles Title Advance Type ...

以下哪个查询将显示预付款大于平均预付款的所有商业类书籍书名。 -4分 1.Select title from titles

where advance > (Select advance from titles

where type = ‘business’) 2. Select title from titles

where advance > (Select avg(advance) from titles

where type = ‘business’) 3.Select title from titles

where advance >= (Select avg(advance) from titles

where type = ‘business’) 4.Select title from titles

where advance > avg (advance) and type = ‘business’ B

2.您正在为 不断发展的RedSky Inc. 开发一个应用程序。该应用程序应该显示公司中空缺职 位状态的格式化报告。您要创建名为 prcGetPos 的过程,该过程将返回以 Pcode(字符格 式)传递的特定代码的职位描述和职位要求。 您用以下语法创建了一个过程: CREATE PROCEDURE prcGetPos

@Pcd char(4),@Description char(20), @RD int AS BEGIN ... END

当您从另一个过程执行此过程后,它却不会向调用过程返回任何值。正确的语法应该如 何? -4分 1.CREATE PROCEDURE prcGetPos @Pcd char(4) OUTPUT,@Description char(20) OUTPUT, @RD int OUTPUT AS

1

BEGIN ... END 2.CREATE PROCEDURE prcGetPos

@Pcd char(4),@Description OUTPUT char(20), @RD int AS BEGIN ... END 3.ALTER PROCEDURE prcGetPos

@Pcd char(4),@Description char(20), @RD int OUTPUT AS BEGIN ... END 4.CREATE PROCEDURE prcGetPos

@Pcd char(4),@Description char(20) OUTPUT, @RD int OUTPUT AS BEGIN ... END D

3.某个服装批发商系统会在每个事务发生时自动更新所需的表格。向“订单”表格添加新的 行后,“产品”表格中的 iQuantityOnHand 属性必须相应地减少。 请单击“展示”按钮来查看“产品”和“订单”表的结构。

应该创建以下哪个触发器来确保以上更新? -3分 1.“产品”表格上的插入触发器。 2.“订单”表格上的更新触发器。 3.“订单”表格上的插入触发器。 4.“产品”表格上的更新触发器。 C

4.您在AdventureWorks 数据库中创建并存储了名为 prcDisplayEmpDetails 的过程。该过程显示所有员工的“员工 Id”和“登录 Id”。现在,除了现有的员工详细信息,您还需要显示员工的“主管 Id”和职位。

您如何在现有的已存储过程中实现功能? -3分 1.删除已存储的 prcDisplayEmpDetails 过程并创建一个新过程。 2.创建另一个过程来显示所有员工的“员工 Id”、“登录 Id”、“主管 Id”和职 位。 3.更改已存储的 prcDisplayEmpDetails 过程以显示所有员工的“员工 Id”、“登录 Id”、“主管 Id”和职位。 4.创建另一个过程来显示所有员工的“主管 Id”和职位,并从已存储的 prcDisplayEmpDetails 过程调用此过程。 C

2

5.Sam 是 eXpert Transfer Inc. 的数据库开发人员。他要在公司的数据库中实现 Service Broker。同样地,对于给定的schSales 模式,他需要创建一个消息类型来接受有效的 XML 片段(For the same, he need to create a message type that will accept a valid XML snippet against the given schSales schema.)请替 Sam 编写这段代码。 -3 分 1.CREATE MESSAGE TYPE sendMessage

VALIDATION = VALID_XML WITH SCHEMA COLLECTION schSales 2.CREATE MESSAGE TYPE sendMessage

VALIDATION = WELL_FORMED_XML WITH SCHEMA COLLECTION schSales 3.CREATE MESSAGE TYPE sendMessage

VALIDATION = NONE WITH SCHEMA COLLECTION schSales 4.CREATE MESSAGE sendMessage

VALIDATION = VALID_XML WITH SCHEMA COLLECTION schSales A

6.Jim 正在用 SQL 数据库创建应用程序。该应用程序允许用户使用各种表格创建定制的输 出。Jim 希望在其应用程序中使用视图。以下哪一项不是 使用视图的优点? -2分 1.从不同的表格提供相关数据。 2.更改表格的设计。 3. 隐藏数据复杂性。 4.组织来自异类源的数据。 B

7.您正在为 RedSky Inc. 开发一个应用程序,以管理公司的项目记录。为了除去数据冗余,您计划规范数据库结构。您将在哪个规范化级别遇到以下情况:行的每个属性在功能上都依 赖于整个关键字,而非部分关键字? -2分 1.1NF 2.2NF 3.3NF 4.Boyce-Codd NF B

8.以下是为“员工”表上的 DELETE 操作创建的两个 AFTER 触发器: CREATE TRIGGER trgDelete1 ON HumanResources.Employee AFTER DELETE AS

PRINT 'This is the first trigger'

CREATE TRIGGER trgDelete2 ON HumanResources.Employee AFTER DELETE

3

AS

PRINT 'This is the second trigger'

trgDelete1 是要创建的第一个触发器。您想更改以上两个触发器的执行顺序,以使触发器 trgDelete1 在trgDelete2 之后执行。为此执行了以下语句: sp_settriggerorder 'trgDelete2', 'FIRST', 'DELETE'

但是,执行以上语句后出错。请指出错误并提供解决方案。 -4分 1.sp_settriggerorder 'HumanResources.trgDelete2', 'FIRST', 'DELETE' 2.sp_settriggerorder 'trgDelete1', 'SECOND', 'DELETE' 3.sp_settriggerorder 'trgDelete2', 'SECOND', 'DELETE' 4.sp_settriggerorder 'HumanResources.trgDelete1', 'FIRST', 'DELETE' A

9.您不再需要用户定义函数 EmployeeDetails 并执行了以下语句将其从数据库中除去。 DROP FUNCTION 'EmployeeDetails'

但是,执行以上语句后出错。请提供解决方案。 -4分 1.DELETE FUNCTION EmployeeDetails 2. DROP FUNCTION 'dbo.EmployeeDetails' 3.DROP FUNC 'EmployeeDetails' 4.DROP FUNCTION EmployeeDetails D

10.数据库开发人员 George 创建了一个程序集ValidEmailAssembly 来验证用户输入的电子邮件地址。该程序集应该不能访问任何外部资源。George 执行以下语句来创建程序集: CREATE ASSEMBLY ValidEmailAssembly FROM

'C:\\ValidEmailAssembly.dll' WITH PERMISSION_SET = UNSAFE

创建了程序集后,George 却发现该程序集能访问所有的外部资源。请通过分析提供解决方 案。 -4分 1.创建程序集时应该指定 SAFE 为 PERMISSION_SET。 2.创建程序集时应该指定NO-ACCESS 为 PERMISSION_SET。 3.创建程序集时应该指定 EXTERNAL_ACCESS 为 PERMISSION_SET。 4.创建程序集时应该指定 NOEXTERNAL_ACCESS 为 PERMISSION_SET。 A

11.一个显示所有员工的员工 Id、部门 Id、登录 Id 及职位的视图的定义如下: CREATE VIEW vwEmpDep AS

SELECT e.EmployeeID, d.DepartmentID, d.LoginID, e.Title FROM HumanResources.Employee e

JOIN HumanResources.EmployeeDepartmentHistory d ON e.EmployeeID = d.EmployeeID

执行出错时,使用以下UPDATE语句: UPDATE vwEmpDep

SET DepartmentID = 7, Title = 'Engineering Manager' WHERE EmployeeID = 2

4

请指出以上语句中的错误原因: -4分 1.您不能通过视图来修改两个或更多基础表格中的数据。 2.员工的 DepartmentID 无法更新。 3.您不能通过视图来更新表中的数据。 4.以上 UPDATE 语句中有语法错误。 A

12.Sam 是 SafeProducts 公司的数据库开发人员。Employees数据库表包含员工信息。经理让您为薪资最高的前 20 名员工创建一个报告,并按照薪资的升序显示。 应该使用哪个查询来完成? -3分 1.SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Group by LastName Order by 3 DESC 2.SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Order by 3 DESC 3. SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Order by 4 DESC 4. SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Group by LastName Order by 4 DESC C

13.您已经创建函数 fx_Employee ,可接受员工 Id 参数,并返回该员工所属部门详细信息以及轮班情况:

CREATE FUNCTION fx_Employee( @EmployeeID int ) RETURNS table AS

RETURN (

SELECT *

FROM HumanResources.EmployeeDepartmentHistory WHERE EmployeeID = @EmployeeID )

如何执行以上函数来显示EmployeeID 为 1 的员工的详细信息? -3分 1.EXECUTE fx_Employee(1) 2.EXECUTE FUNCTION fx_Employee(1) 3.SELECT * FROM fx_Employee(1) 4.SELECT fx_Employee(1) C

14.Sam 已在数据库中实现 Service Broker。他需要在 sendService 和 recieveService 这两个服务

之间发送消息。为此,他需要开始一个对话。请替 Sam 写这段代码。 -3分 1.DECLARE @dialog_handle UNIQUEIDENTIFIER; BEGIN DIALOG CONVERSATION @dialog_handle FROM

5

SERVICE [sendService] TO SERVICE 'recieveService' ON CONTRACT [sendContract]; 2. DECLARE @dialog_handle UNIQUEIDENTIFIER; BEGIN CONVERSATION @dialog_handle FROM

SERVICE [sendService] TO SERVICE 'recieveService' ON CONTRACT [sendContract]; 3.DECLARE @dialog_handle UNIQUEIDENTIFIER; BEGIN DIALOG CONVERSATION @dialog_handle FROM

SERVICE [recieveService] TO SERVICE 'sendService' ON CONTRACT [sendContract]; 4.BEGIN DIALOG CONVERSATION @dialog_handle FROM SERVICE [sendService] TO SERVICE 'recieveService' ON CONTRACT [sendContract]; A

15.您要为 C: 驱动器中存储的ValidEmailAssembly.dll 创建一个程序集ValidEmailAssembly,

并要确保 .NET 代码无法访问某些外部资源。应该如何创建这个程序集? -3分 1. CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll' WITH PERMISSION_SET = SAFE 2.CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll'

WITH PERMISSION_SET = UNSAFE 3.CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll'

WITH PERMISSION_SET = EXTERNAL_ACCESS 4.CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll'

WITH PERMISSION_SET = NO_ACCESS A

16.Sam 是 eXpert Transfer Inc. 的数据库开发人员。他要在公司的数据库中实现 Service Broker。同样地,对于给定的schSales 模式,他需要创建一个消息类型来接受有效的 XML 片段(For the same, he need to create a message type that will accept a valid XML snippet against the given schSales schema.)请替 Sam 编写这段代码。 -3分 1.CREATE MESSAGE TYPE sendMessage VALIDATION = VALID_XML WITH SCHEMA COLLECTION schSales 2.CREATE MESSAGE TYPE sendMessage VALIDATION = WELL_FORMED_XML WITH SCHEMA COLLECTION schSales 3. CREATE MESSAGE TYPE sendMessage

6

VALIDATION = NONE WITH SCHEMA COLLECTION schSales 4.CREATE MESSAGE sendMessage VALIDATION = VALID_XML WITH SCHEMA COLLECTION schSales A

17.数据库开发人员 George 创建了一个程序集ValidEmailAssembly 来验证用户输入的电子邮件地址。该程序集应该不能访问任何外部资源。George 执行以下语句来创建程序集: CREATE ASSEMBLY ValidEmailAssembly FROM

'C:\\ValidEmailAssembly.dll' WITH PERMISSION_SET = UNSAFE

创建了程序集后,George 却发现该程序集能访问所有的外部资源。请通过分析提供解决方 案。 -4分 1.创建程序集时应该指定 SAFE 为 PERMISSION_SET。 2.创建程序集时应该指定NO-ACCESS 为 PERMISSION_SET。 3.创建程序集时应该指定 EXTERNAL_ACCESS 为 PERMISSION_SET。 4.创建程序集时应该指定 NOEXTERNAL_ACCESS 为 PERMISSION_SET。 A

18.一个显示所有员工的员工 Id、部门 Id、登录 Id 及职位的视图的定义如下: CREATE VIEW vwEmpDep AS

SELECT e.EmployeeID, d.DepartmentID, d.LoginID, e.Title FROM HumanResources.Employee e

JOIN HumanResources.EmployeeDepartmentHistory d ON e.EmployeeID = d.EmployeeID

执行出错时,使用以下UPDATE语句: UPDATE vwEmpDep

SET DepartmentID = 7, Title = 'Engineering Manager' WHERE EmployeeID = 2

请指出以上语句中的错误原因: -4分 1. 您不能通过视图来修改两个或更多基础表格中的数据。 2.员工的 DepartmentID 无法更新。 3.您不能通过视图来更新表中的数据。 4.以上 UPDATE 语句中有语法错误。 A

19.Sam 是 SafeProducts 公司的数据库开发人员。Employees数据库表包含员工信息。经理让您为薪资最高的前 20 名员工创建一个报告,并按照薪资的升序显示。 应该使用哪个查询来完成? -3分 1.SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Group by LastName Order by 3 DESC 2.SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Order by 3 DESC 3. SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Order by 4 DESC 4. SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Group by

7

LastName Order by 4 DESC C

20.您要为 C: 驱动器中存储的ValidEmailAssembly.dll 创建一个程序集

ValidEmailAssembly,并要确保 .NET 代码无法访问某些外部资源。应该如何创建这个程序集? -3分 1. CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll' WITH PERMISSION_SET = SAFE 2.CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll'

WITH PERMISSION_SET = UNSAFE 3.CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll'

WITH PERMISSION_SET = EXTERNAL_ACCESS 4.CREATE ASSEMBLY ValidEmailAssembly FROM 'ValidEmailAssembly.dll'

WITH PERMISSION_SET = NO_ACCESS A

21.已经创建的过程 getOrderDetails 返回一个结果集。您需要创建一个名为 sqlEndpoin 的 HTTP 终结点,以将过程getOrderDetails作为 Web 方法。您可以使用认证方法通过加密来 安全传输密码。该终结点的 URL 是“/sql/AdventureWorks”。该过程是在AdventureWorks 数据库的 dbo 架构中创建的。终结点客户机响应所需信息包括 SOAP 响应结果集、行计 数、错误消息和警告。您将如何创建该终结点? -3分 1.CREATE ENDPOINT sqlEndpoint STATE = STARTED AS HTTP( PATH = '/sql/AdventureWorks', AUTHENTICATION = (NTLM),

PORTS = ( CLEAR ), SITE = 'localhost' ) FOR SOAP (

WEBMETHOD 'getOrderDetails'

(name='AdventureWorks.dbo.getOrderDetails',FORMAT = ALL_RESULTS), WSDL = 2.CREATE ENDPOINT sqlEndpoint STATE = STARTED AS HTTP( PATH = '/sql/AdventureWorks', AUTHENTICATION = (DIGEST),

PORTS = ( CLEAR ), SITE = 'localhost' ) FOR SOAP (

WEBMETHOD 'getOrderDetails'

(name='AdventureWorks.dbo.getOrderDetails',FORMAT = ROWSETS_ONLY), WSDL = 3.CREATE ENDPOINT sqlEndpoint

8

STATE = STARTED AS HTTP( PATH = '/sql/AdventureWorks',

AUTHENTICATION = (KERBEROS), PORTS = ( CLEAR ), SITE = 'localhost' ) FOR SOAP (

WEBMETHOD 'getOrderDetails'

(name='AdventureWorks.dbo.getOrderDetails',FORMAT = ROWSETS_ONLY), WSDL 4.CREATE ENDPOINT sqlEndpoint STATE = STARTED AS HTTP( PATH = '/AdventureWorks',

AUTHENTICATION = (INTEGRATED), PORTS = ( CLEAR ), SITE = 'localhost' ) FOR SOAP (

WEBMETHOD 'getOrderDetails'

(name='AdventureWorks.dbo.getOrderDetails',FORMAT = ALL_RESULTS), WSDL = A

22.汽车生产厂家的数据库包含大量的数据。这些数据都存储在结构复杂的表格中。

而且由于许多数据存储在许多表格中,因此导致数据库中产生了冗余。怎样才能减少表格 中的冗余并使数据保持一致? -3分 1.表格非标准化 2.表格标准化 3. 创建特定的数据模型 4.在表格中创建主键和外键 B

23.为了存储顾客的详细信息,用以下CREATE TABLE 语句创建了顾客表: Create table Shopper (

cShopperId char(6) not null, cPassword char(20) not null, vFirstName varchar(20) not null, vLastName varchar(20) not null, vEmailId varchar(20) not null, vAddress null )

输入数据时有些顾客的电子邮件 Id 未知。

怎样才能在顾客电子邮件 Id 未知的情况下输入消息“未知”? -2分 1.使用 ALTER TABLE 命令为 vEmailId 属性添加检查约束。 2.使用 ALTER TABLE 命令为 vEmailId 属性添加默认约束。 3.使用 sp_addtype 语句为 vEmailId 属性添加用户定义的数据类型。 4.使用 sp_bindrule 语句将规则与 vEmailId 属性绑定。

9

B

24.要检查系统的性能,需要了解 SQL Server 中执行的每个事务的信息。您需要当前在服务器上运行的所有事务的列表和状态。以下哪个数据库对象存储了这些信息? -2分 1.sys.dm_exec_requests 视图 2.syscomments 表 3.sys.exec_requests 视图 4.sysobjects 表 A

25.您已在AdventureWorks 数据库中创建并存储了名为 prcDisplayEmpDetails 的过程。该过程显示所有员工的“员工 Id”和“登录 Id”。除了现有的员工详细信息之外,还要求您显示员工的“主管 Id”和职位。

怎样才能在现有的已存储过程中实现该功能? -2分 1.删除已存储的 prcDisplayEmpDetails 过程并创建一个新过程。 2.不删除第一个过程,但创建另一个过程,显示所有员工的“员工 Id”、“登录 Id”、“主管 Id”和职位。 3.更改已存储的 prcDisplayEmpDetails 过程,以显示所有员工的“员工 Id”、“登录 Id”、“主管 Id”和职位。 4.创建另一个过程,显示所有员工的“主管 Id”和职位,并从已存储的 prcDisplayEmpDetails 过程调用此过程。 C

26.在以下哪种情况下您会在数据库中实现托管代码? -2分 1.需要执行可通过 T-SQL 语句执行的数据访问和操纵操作时。 2.需要创建诸如过程、函数或触发器之类的数据库对象时。 3. 需要实现复杂的编程逻辑以便能重复使用 .NET 基类库所提供的功能。 4. 需要实现基本的编程逻辑时。 C

27.您用以下语句发出命令来创建“订单”表的cOrderNo 属性的索引: CREATE INDEX idxOrder on Orders(cOrderNo)

您将使用以下哪个命令来验证“订单”表的索引已创建? -2分 1. sp_helpindex idxOrder 2.sp_helpindex Orders 3.sp_helpindex cOrderNo 4.sp_helpindex Orders.cOrderNo B

28.某个关系数据库包含两种关系:A 和 B。您需要从关系 A 中抽取出一些记录,以便在关系 B 中不会出现相关的记录。 应该使用以下哪种运算符? -2分 1.Difference 2. Intersect

10

3.Union 4.Project A

29.以下哪种应用程序结构在一个可执行单元中加入了所有业务应用程序元素? -1分 1. 单层结构 2.双层结构 3.三层结构 4.多层结构 A

30.哪种聚合函数可用于计算一列中所有值的平均数? -1分 1.AVG 2.SUM 3.MAX 4. COUNT A

31.在表格中修改数据时会触发哪个触发器? -1分 1.DELETE 2.INSERT 3.UPDATE 4. INSTEAD OF C

32.如何执行过程? -1分 1.EXEC proc_name 2.proc_name 3.RUN proc_name 4. proc_name EXEC A

33.SQL Server 2005 使用CLR集成时,哪个类可以将 T-SQL 命令发送到数据库服务器,并调用存储的过程或函数? -1分 1.SqlCommand 2.SqlConnection 3.SqlContext 4.SqlPipe A

34.以下哪个选项可用于加密 syscomments 视图中的文本? -1分 1.WITH ENCRYPT 2. ENCRYPT 3.WITH ENCRYPTION

11

4. WITH CHECK OPTION C

35.数据库开发人员 George 创建了一个程序集ValidEmailAssembly 来验证用户输入的电子邮件地址。该程序集应该不能访问任何外部资源。George 执行以下语句来创建程序集: CREATE ASSEMBLY ValidEmailAssembly FROM

'C:\\ValidEmailAssembly.dll' WITH PERMISSION_SET = UNSAFE

创建了程序集后,George 却发现该程序集能访问所有的外部资源。请通过分析提供解决方 案。 -4分 1.创建程序集时应该指定 SAFE 为 PERMISSION_SET。 2.创建程序集时应该指定NO-ACCESS 为 PERMISSION_SET。 3.创建程序集时应该指定 EXTERNAL_ACCESS 为 PERMISSION_SET。 4.创建程序集时应该指定 NOEXTERNAL_ACCESS 为 PERMISSION_SET。 A

36.一个显示所有员工的员工 Id、部门 Id、登录 Id 及职位的视图的定义如下: CREATE VIEW vwEmpDep AS

SELECT e.EmployeeID, d.DepartmentID, d.LoginID, e.Title FROM HumanResources.Employee e

JOIN HumanResources.EmployeeDepartmentHistory d ON e.EmployeeID = d.EmployeeID

执行出错时,使用以下UPDATE语句: UPDATE vwEmpDep

SET DepartmentID = 7, Title = 'Engineering Manager' WHERE EmployeeID = 2

请指出以上语句中的错误原因: -4分 1. 您不能通过视图来修改两个或更多基础表格中的数据。 2.员工的 DepartmentID 无法更新。 3.您不能通过视图来更新表中的数据。 4.以上 UPDATE 语句中有语法错误。 A

37.Sam 是 SafeProducts 公司的数据库开发人员。Employees数据库表包含员工信息。经理让您为薪资最高的前 20 名员工创建一个报告,并按照薪资的升序显示。 应该使用哪个查询来完成? -3分 1.SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Group by LastName Order by 3 DESC 2.SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Order by 3 DESC 3. SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Order by 4 DESC 4. SELECT TOP 20 LastName, FirstName, Title, Salary from Employees Group by LastName Order by 4 DESC C

12

本文来源:https://www.bwwdw.com/article/yumx.html

Top