ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:42.81KB ,
资源ID:10488946      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10488946.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整word版SQL Server数据库程序设计题库.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整word版SQL Server数据库程序设计题库.docx

1、完整word版SQL Server数据库程序设计题库SQL Server2000数据库程序设计题库1你是一个数据公司的数据库开发人员,你建立了一个用来存储了15个不同的高中体育成绩的统计数据库,50个体育信息公司将把这些信息发布在各自的Web站点上,每个公司站点的数据排列和使用这些统计数据的格式是不同的。你要将数据打包传送给公司,你将怎么做?a. 使用包含FOR XML选项的SELECT语句提取数据。b. 对SELECT语句返回的数据使用sp_makewebtask系统存储过程来生成HTML数据。c. C.对数据库输出的数据建立数据转换服务包,形成使用TAB界定符的文本文件。d. 建立一个使用

2、SEL_DMO的应用程序来提取数据库中的数据,并将这些数据转换到标准EDI(electronic data interchange)文件。答案: A.解释: 这些数据将会在公司的网站发布。 XML是可扩展标示语言,包含结构信息的文档。 可扩展标示语言适合制作WEB文件。SQL 查询结果可以是XML文档。 直接执行查询或存储过程也可以生成XML文档。 使用带FOR XML的子句的SELECT 语句可以直接生成XML文档。在FOR XML子句中 XML的模式可以通过参数T RAW, AUTO, 或 EXPLICIT 来指定.不正确的答案:B: sp_makeweb 储存程序用来生成 HTML 格式

3、文档而不是的标准记录集。 XML是比 HTML更复杂的格式的文档,在这种情形中XML更合适。C:一个用制表符分隔的文件,可以在任何支持用制表符分隔的文件的电子表格(如 Microsoft Excel)中进行分析。然而,这个格式对网页是不适当的。D: SQL- DMO 不能生成在网站分布的数据。注意: SQL- DMO SQL 分布式管理对象 (SQL-DMO) 封装 Microsoft SQL Server 2000 数据库中的对象。SQL-DMO 允许用支持自动化或 COM 的语言编写应用程序,以管理 SQL Server 安装的所有部分。SQL-DMO 是 SQL Server 2000

4、中的 SQL Server 企业管理器所使用的应用程序接口 (API);因此使用 SQL-DMO 的应用程序可以执行 SQL Server 企业管理器执行的所有功能。SQL-DMO 用于必须包含 SQL Server 管理的任何自动化或 COM 应用程序,例如: 封装 SQL Server 作为自己的数据存储并想尽量减少用户的 SQL Server 管理任务的应用程序。 在程序本身并入了专门的管理逻辑的应用程序。 想在自己的用户界面中集成 SQL Server 管理任务的应用程 2你是一个邮购公司的数据库开发人员,公司有两台使用SQL Server2000的计算机,分别为CORP1和CORP2

5、。CORP1是一台联机事务处理服务器,CORP2存储销售历史数据。CORP2作为一台连接服务器已连接到CORP1上。销售部经理要求你建立一个购买软盘的客户的列表,这个列表将每个月产生一次邮购的奖品,软盘在数据库中的类别ID为21。你必须从SalesHistory表中刷新这个信息,这个文件存储在CORP2的一个数据库上,你要从CORP1上执行这个查询,你将使用哪条脚本语句查询?AEXEC sp_addlinkedserver CORP2, SQL Server GO SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory WHERE Categ

6、oryID = 21B. SELECT CustomerID FROM OPENROWSET (SQLOLEDB, CORP2; p*word, SELECTCustomerID FROM Archive.dbo.SalesHistory WHERE CategoryID = 21)C. SELECT CustomerIDFROMCORP2.Archive.dbo.SalesHistoryWHERECategoryID = 21D. EXEC sp_addserver CORP2GOSELECT CustomerID FROM CORP2.Archive.dbo.SalesHistoryWHE

7、RE CategoryID = 21答案: C.解释:对于这种情况,只要一个简单的带WHERE子句 SELECT FROM语句即可,一般格式:SELECT CustomerID FROM SalesHistory WHERE CategoryID = 21但是SalesHistory表在另一台服务器上,并且已经建立了另一台服务器的连接,可以直接执行分布查询,必须使用对象的四部分名称:服务器、数据库、所有者和表名,即CORP2.Archive.dbo.SalesHistory。注: sp_linkedserver使用sp_linkedserver建立服务器连接, 语法为:sp_addlinked

8、server server = server , srvproduct = product_name , provider = provider_name , datasrc = data_source , location = location , provstr = provider_string , catalog = catalog 不正确答案:A: 已建立服务器连接,不要再建立服务器连接B: 对于已建立连接的服务器,一般不用OPENROWSET访问。当访问链接服务器中的表时,OPENROWSET访问方法是一种替代方法,并且是一种使用 OLE DB 连接并访问远程数据的一次性的、特殊的

9、方法。D: sp_addserver是一个非法存储过程名3你是Trey Research公司的一个数据库开发者。你设计了两个事务用来输入职员的相关数据到公司的数据库中。 一个事务插入职员名字和地址到数据库中,这个事务很重要。 另一个事务插入职员人口统计的其他数据项,这个事务不很重要。在访问高峰时,数据库管理人通知你数据库伺候器有时候会出现错误。每当发生错误时, 数据库伺候器随机地结束一个事务。你一定保证当数据库伺候器结束一个事务时,它从不结束比较重要的事务。 你应该做什么?A重要事务的DEADLOCK_PRIORITY级别设置低B不重要事务的DEADLOCK_PRIORITY级别设置低C增加一

10、段条件代码,检查重要事务的服务器返回的错误代号是否为1205,若是重新启动该事务D在事务的SQL操作语句中增加ROWLOCK优化提示E把重要事务的事务隔离级别设置为SERIALIZABLE答案:B解释:现在是一个死锁的问题,并且随机终止一个事务。现在有两类事务:重要事务和不重要事务问题要求当死锁的问题发生时,要终止不重要事务而重要事务一定不要终止。通过把不重要事务的DEADLOCK_PRIORITY级别设置低,当在两个事务间发生死锁时,不重要事务首先成为牺牲品,而重要事务没有被终止。死锁:当某组资源的两个或多个线程之间有循环相关性时,将发生死锁。死锁是一种可能发生在任何多线程系统中的状态,而不

11、仅仅发生在关系数据库管理系统中。多线程系统中的一个线程可能获取一个或多个资源(如锁)。如果正获取的资源当前为另一线程所拥有,则第一个线程可能必须等待拥有线程释放目标资源。这时就说等待线程在那个特定资源上与拥有线程有相关性。如果拥有线程需要获取另外一个资源,而该资源当前为等待线程所拥有,则这种情形将成为死锁:在事务提交或回滚之前两个线程都不能释放资源,而且它们因为正等待对方拥有的资源而不能提交或回滚事务。例如,运行事务 1 的线程 T1 具有 Supplier表上的排它锁。运行事务 2 的线程 T2 具有 Part表上的排它锁,并且之后需要 Supplier表上的锁。事务 2 无法获得这一锁,因

12、为事务 1 已拥有它。事务 2 被阻塞,等待事务 1。然后,事务 1 需要 Part表的锁,但无法获得锁,因为事务 2 将它锁定了。事务在提交或回滚之前不能释放持有的锁。因为事务需要对方控制的锁才能继续操作,所以它们不能提交或回滚。说明死锁经常与正常阻塞混淆。当一个事务锁定了另一个事务需要的资源,第二个事务等待锁被释放。默认情况下,SQL Server 事务不会超时(除非设置了 LOCK_TIMEOUT)。第二个事务被阻塞,而不是被死锁。在该插图中,对于 Part表锁资源,线程 T1 在线程 T2 上具有相关性。同样,对于 Supplier表锁资源,线程 T2 在线程 T1 上具有相关性。因为

13、这些相关性形成了一个循环,所以在线程 T1 和线程 T2 之间存在死锁。不正确答案:A: 如果一个事务的优先级设置为低,当死锁发生时,它首先成为牺牲品;因为重要事务要保留,所以该事务的级别不能设置为低C: 当一个事务的成为死锁的牺牲品时,服务器返回一个1205的错误代号;当重要事务杀死后,重启该事务,这样保证了该事务不会被终止,缺点是这个方法不是最有效的,并且会影响性能,最好为选择BD: ROWLOCK优化提示使用行级锁,而不使用粒度更粗的页级锁和表级锁E: 事务准备接受不一致数据的级别称为隔离级别。隔离级别是一个事务必须与其它事务进行隔离的程度。较低的隔离级别可以增加并发,但代价是降低数据的

14、正确性。相反,较高的隔离级别可以确保数据的正确性,但可能对并发产生负面影响。应用程序要求的隔离级别确定了 SQL Server 使用的锁定行为。注:隔离级别当锁定用作并发控制机制时,它可以解决并发问题。这使所有事务得以在彼此完全隔离的环境中运行,但是任何时候都可以有多个正在运行的事务。可串行性是通过运行一组并发事务达到的数据库状态,等同于这组事务按某种顺序连续执行时所达到的数据库状态。 SQL-92 隔离级别尽管可串行性对于事务确保数据库中的数据在所有时间内的正确性相当重要,然而许多事务并不总是要求完全的隔离。例如,多个作者工作于同一本书的不同章节。新章节可以在任意时候提交到项目中。但是,对于

15、已经编辑过的章节,没有编辑人员的批准,作者不能对此章节进行任何更改。这样,尽管有未编辑的新章节,但编辑人员仍可以确保在任意时间该书籍项目的正确性。编辑人员可以查看以前编辑的章节以及最近提交的章节。事务准备接受不一致数据的级别称为隔离级别。隔离级别是一个事务必须与其它事务进行隔离的程度。较低的隔离级别可以增加并发,但代价是降低数据的正确性。相反,较高的隔离级别可以确保数据的正确性,但可能对并发产生负面影响。应用程序要求的隔离级别确定了 SQL Server 使用的锁定行为。SQL-92 定义了下列四种隔离级别,SQL Server 支持所有这些隔离级别: 未提交读(事务隔离的最低级别,仅可保证不

16、读取物理损坏的数据)。提交读(SQL Server 默认级别)。可重复读。可串行读(事务隔离的最高级别,事务之间完全隔离)。 如果事务在可串行读隔离级别上运行,则可以保证任何并发重叠事务均是串行的。下面四种隔离级别允许不同类型的行为。 隔离级别脏读不可重复读取幻像未提交读是是是提交读否是是可重复读否否是可串行读否否否事务必须运行于可重复读或更高的隔离级别以防止丢失更新。当两个事务检索相同的行,然后基于原检索的值对行进行更新时,会发生丢失更新。如果两个事务使用一个 UPDATE 语句更新行,并且不基于以前检索的值进行更新,则在默认的提交读隔离级别不会发生丢失更新。4你是公司的SQL Server

17、 2000联机事务处理数据库的数据库开发人员。许多表有一百万或更多的行,所有的表都建立了一个聚集索引,经常存取的表另外还至少有一个非聚集索引,数据库服务器上有两个RAID阵列存储数据文件,你想设置表和索引以取得最佳的I/O性能。 你在每个RAID阵列上建立了一个文件组,下一步你将作什么?a设置频繁的互相连接的表加入同一个文件组,设置经常存取的表和所有的属于这些表的索引到另一个文件组。b设置频繁的互相连接的表加入同一个文件组,设置经常存取的表和所有的属于这些表的非簇索引到不同的文件组。c设置频繁的互相连接的表加入不同的文件组,设置经常存取的表和所有的属于这些表的非簇索引到不同的文件组。d设置频繁

18、的互相连接的表加入不同的文件组群,设置经常存取的表和所有的属于这些表的非簇索引到同一个文件组。答案: C.解释: 把频繁访问的表和它的索引存放在不同磁盘阵列的文件组,可以提高数据库的性能。因为这样可以使不同的线程来访问表和非聚集索引。表和聚集索引不能分开存放到不同的文件组。把经常连接的表分开存储到不同磁盘阵列也能提高数据库的性能。另外,创建和磁盘阵列数一样多的文件个数,使得每个阵列上有一个文件,这样也能提高性能。日志文件和数据文件分开存放到不同的磁盘阵列上也能提高性能。不正确答案 :A:经常连接表存放到同一个文件组不能提高性能。因为这样不能并行处理。另外只有非聚集索引才能和表分别存储到不同文件

19、组。B:经常连接表存放到同一个文件组不能提高性能。因为这样不能并行处理D: 把表和非聚集索引存放到同一个文件组不能提高性能。因为这样不能并行处理5你是公司的SQL Server2000数据库开发人员,你修改了数据库中用来建立销售部月报表的几个存储过程,存储过程中包含了从三个或更多表中提取数据的复杂查询,所有这些表都至少有一个索引。用户报告说这些月报表比以前的版本的明显要慢,你要改进这些报表的性能,将怎么做?a.对创建每个存储过程的DDL的脚本,使用这个脚本作为工作负载进行索引优化。b.在SQL Profiler中捕捉每个存储过程的执行信息,使用这个信息文件作为工作负载进行索引优化。c.修改存储

20、过程中引用表的索引统计信息。d.在SQL查询分析器中执行每个存储过程,使用Show Execution Plan选项。e.在SQL查询分析器中执行每个存储过程,使用Show Server Trace选项。答案: E.解释: 通过查看服务器跟踪来分析和优化存储过程。使用显示服务器跟踪选项,可以显示查询对服务器到底有何影响,通过这些信息,来分析和优化存储过程。Note: 查询窗口跟踪窗格显示服务器跟踪命令提供了对信息的访问,此信息用于确定查询对服务器方的影响。 如果显示服务器跟踪命令在执行查询时启用,则该命令显示跟踪窗格,此窗格提供有关事件类、子类、整型数据、文本数据、数据库 ID、持续时间、启动

21、时间、读、写以及 CPU 使用的信息。索引优化向导索引优化向导使您得以为 MicrosoftSQL Server 2000 数据库选择和创建优化的索引集和统计信息集,而不需要深入了解 SQL Server 的数据库结构、工作负荷或内部原理。为了生成适用的优化索引集建议,该向导需要工作负荷。工作负荷包含一个保存在文件或表中的 SQL 脚本或 SQL 事件探查器跟踪,其中有 SQL 批处理或远程过程调用 (RPC) 事件类以及 Event Class 和 Text数据列。Incorrect answers:A:索引优化向导使用工作负载作为输入,存储过程的脚本不能作为其输入SQL 语言主要有两种:一

22、种是数据定义语言 (DDL),用于定义和管理 SQL 数据库中的所有对象;另一种是数据操作语言 (DML),用于选择、插入、更新和删除使用 DDL 定义的对象中的数据。Transact-SQL DDL 用于管理数据库、表和视图等对象,每个对象类通常都包含 CREATE、ALTER 和 DROP 语句,如 CREATE TABLE、ALTER TABLE 和 DROP TABLE。DDL不能索引优化向导的输入B:索引优化可以提高存储过程的的性能,但是没有数据发生变化并且查询很复杂。最好还是通过查看服务器跟踪来发现问题。C:选择合适的索引和工作负载是很复杂、耗时,对于中度复杂的数据库和负载也有可能

23、出错。若想优化索引,最好使用索引优化向导。D:执行计划能够提供一些线索,说明存储过程是怎样执行的。一个执行计划只是说明对一个特殊的查询查询优化器是怎样优化的。这些信息是有用的,它能用来优化查询的性能。然而执行计划不是分析复杂查询的最好方法。6你是一个国际进口商的数据库开发人员,你正在创建数据库,用来存储订购信息的,通过C/S模式的应用程序输入订购数据,每当输入一个新的定单,要分配唯一的一个定单号,定单号必须以递增的方式签发,平均每天有10000定单要输入。你创建了一个Orders表,包含OrderNumber列,接下来你应怎么做?A. 把该列的数据类型设为. uniqueidentifierB

24、. 把该列的数据类型设为INT ,并设置具有IDENTITY属性C. 把该列的数据类型设为INT ,并创建一个用户函数,该函数返回表中的最大定单号D. 把该列的数据类型设为INT ,创建NextKey表,包含NextOrder(INT)列,再创建一个存储过程取出和更新NextKey表中的数据。答案: B.解释: 对任何表都可创建包含系统所生成序号值的一个标识符列,该序号值唯一标识表中的一行。例如,当在表中插入行时,标识符列可自动为应用程序产生唯一的客户收据号码。标识符列在其所定义的表中包含的数值通常是唯一的。这意味着在包含标识符列的其它表中可使用与之相同的数值进行标识。一个表只能有一列定义为

25、IDENTITY 属性,而且该列必须以 decimal、int、numeric、smallint、bigint 或 tinyint 数据类型定义。可指定种子和增量值。二者的默认值均为 1。标识符列不允许空值,也不能包含 DEFAULT 定义或对象。在设置 DENTITY 属性后,可以使用 IDENTITYCOL 关键字在选择表中引用该列。不正确答案:A: MS SQL Server 2000 在复制表时使用uniqueidentifier数据类型,来保证列值的全球唯一性。使用 uniqueidentifier 数据uniqueidentifier数据类型存储 16 字节的二进制值,该值的使用与

26、全局唯一标识符 (GUID) 一样。GUID 是一个唯一的二进制数字;世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。uniqueidentifier列的 GUID 值通常由以下方式获得: 在 Transact-SQL 语句、批处理或脚本中调用NEWID函数。 在应用程序代码中,调用返回 GUID 值的应用程序 API 函数或方法。 Transact-SQL NEWID 函数以及应用程序 API 函数和方法从它们网卡上的标识数字以及 CPU 时钟的唯一数字生成新的 uniqueidentifier 值。每个

27、网卡都有唯一的标识号。由 NEWID返回的 uniqueidentifier使用服务器上的网卡生成。由应用程序 API 函数和方法返回的 uniqueidentifier使用客户机上的网卡生成。一般不将 uniqueidentifier定义为常量,因为很难保证实际创建的 uniqueidentifier具有唯一性。指定 uniqueidentifier常量的方法有两种: 字符串格式 6F9619FF-8B86-D011-B42D-00C04FC964FF二进制格式 0xff19966f868b11d0b42d00c04fc964ff可以使用NEWID()函数作为该字段的默认值C: 函数是由一个

28、或多个 Transact-SQL 语句组成的子程序,可用于封装代码以便重新使用。Microsoft SQL Server 2000 并不将用户限制在定义为 Transact-SQL 语言一部分的内置函数上,而是允许用户创建自己的用户定义函数。可使用 CREATE FUNCTION 语句创建、使用 ALTER FUNCTION 语句修改、以及使用 DROP FUNCTION 语句除去用户定义函数。每个完全合法的用户定义函数名 (database_name.owner_name.function_name) 必须唯一。必须被授予 CREATE FUNCTION 权限才能创建、修改或除去用户定义函数

29、。不是所有者的用户在 Transact-SQL 语句中使用某个函数之前,必须先给此用户授予该函数的适当权限。若要创建或更改在 CHECK 约束、DEFAULT 子句或计算列定义中引用用户定义函数的表,还必须具有函数的 REFERENCES 权限。在函数中,区别处理导致删除语句并且继续在诸如触发器或存储过程等模式中的下一语句的 Transact-SQL 错误。在函数中,上述错误会导致停止执行函数。接下来该操作导致停止唤醒调用该函数的语句。用户定义函数的类型SQL Server 2000 支持三种用户定义函数: 标量函数 内嵌表值函数 多语句表值函数 D: 创建另外一个表用来跟踪定单号,在这个例子

30、中是不合适的。7你是一个技术培训中心的数据库开发人员,现在,行政人员在纸上记录有学生、教师、课程和教室的安排数据,培训中心想废除纸张管理而改用数据库来管理这些数据,你设计了下列表,你想提高查询反映时间和冗余数据降到最小,应怎么办?A. 创建Instructors表,包含InstructorID 、InstructorName 和OfficePhone列 。在Courses表中增加InstructorID列B. 把Classroom表中的所有列移到Courses表中,删除Classroom表C. 把Courses表中主键约束删除,而用CourseID 和CourseTitle组合主键代替D. 删

31、除ClassroomID列,而建立ClassroomNumber 和ClassTime主键约束。答案: A.解释标准化数据库是非常有效的,现在这个数据库的设计是非标准化的,Courses表中包含教师的数据,当一个教师有多余一门课时,就会有重复数据,InstructorName 和 OfficePhone要为每门课程登记。这个数据库的标准化设计应该是:创建一个新的表Instructors该表中包含InstructorID,作为候选主键在Instructors表中增加 InstructorName 和 OfficePhone删除Courses表中InstructorName 和 OfficePhone列,在Courses表中增加

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1