1、数据库技术SQLServer习题与 数据库技术(SQLServer)习题与 参考答案 数据库技术(SQLServer)习题与参考答案 第一章: 1、SQL Server 2005有哪些新增特性? 答:SQL Server 2005的新特性主要体现在企业 数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。 2、SQL Server 2005安装的软件和硬件环境是
2、什么? 答:SQL Server 2005安装的软件和硬件环境参见教材6。 3、SQL Server 2005有哪些版本?有哪些服务组件? 答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。 SQL Server 2005、什么是实例?经常提到的4 服务器和服务器实例是否具有相同的含义? 答:实例就是SQL服务器引擎,每个SQL Server数据库引
3、擎实例各有一套不为其他实例共享的 系统及用户数据库。一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。 5、默认实例和命名实例有何差别?在安装和使用上有何不同? 答:实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。 6、SQL Server 2005的安全性验证分
4、为哪两个阶段? 答:第1个阶段是身份验证,验证用户是否具有“连接权”;第2个阶段是数据库的访问权,验证连接到服务器实例的用户,即已登录到服务器 。实例的用户,是否具有“访问权” 7、SQL Server 2005有哪些主要的实用工具?每个工具都有什么用途? 答:SQL Server Management Studio,是 Microsoft SQL Server 2005中的新组件,这是一个用于访问、配置、管理和开发SQL Server的所有组件的集成环境,是SQL Server 2005中最重要的管理工具。SQL Server Configuration Manager,用来管理SQL Se
5、rver 2005所提供的服务、服务器与客户端通信协议以及客户端的基本配置管理。SQL Server外围应用配置器用来启用、禁用、开始或停止SQL Server 2005的功能、服务和远程连接。Notification Services命令提示是用来开发及部署应用程序以产生和传送通知的平台。Reporting Services配置用于配置和管理SQL Server 2005的报表服务器。SQL Server 错误和使用情况报告。SQL Server Profiler也称为SQL Server事件探查器,用于监视SQL Server数据库引擎和Analysis Services的实例,并捕获数据
6、库服务器在运行过程中发生的事件,将事件数据保存在文件或表中供用户分析。 第二章: 1、在SQL Server 2005中数据库文件有哪3类?各有什么作用? 答:SQL Server 2005中数据库文件有主数据文件、辅助数据文件、事务日志文件。主数据文件是数据库的起点,指向数据库中文件的其他部分,同时也用来存放用户数据;辅助数据文件专门用来存放数据;事务日志文件存放恢复数据库所需的所有信息。 2、SQL Server 2005中数据文件是如何存储的? 答:SQL Server 2005中采用以页为数据库存储的基本单位,数据文件的页按顺序编号,文件首页的页码是0。每个文件都有一个文件ID号。在数
7、据库中惟一标识一页,需要同时使用文件ID和页码。在每个文件中,第一页是包含文件特性信息的文件首页,在文件开始处的其他几个页中包含系统信息,如分配映射表。系统页存储在主数据文件和第一个事务日志文件中,其中有一个系统页包含数据库属性信息,它是数据库的引导页。 3、SQL Server 2005中创建、查看、打开、删 除数据库的方法有哪些? SQL Server 答:方法分别有两种,即可以通过也可以通,图形化界面实现Management Studio 语句命令实现。过SQL _CREATE_ DATABASE _、通过4SQL语句,使用命令命令创建数据库,使用_ EXEC sp_helpdb _sp
8、_dboption _ EXEC 查看数据库定义信息,使用_ ALTER DATABASE _命令设置数据库选项,使_ DROP DATABASE _命令修改数据库结构,使用命令删除数据库。 5、安装SQL Server 2005时,系统自动提供的4个系统数据库分别是什么?各起什么作用? 答:系统自动提供的4个系统数据库分别是master数据库、model数据库、msdb数据库、tempdb数据库。作用参见教材3.2节。 第三章: 1、如何理解表中记录和实体的对应关系?为什么说关系也是实体?在表中如何表示? 答:实体是客观存在并且可以相互区别的事物,实体可以是具体的事物,也可以是抽象的事物。不
9、同的事物是用不同的特征决定的,用来描述实表中每条记录对应一体的特性称为实体的属性。 个实体,而每个字段保存着对应实体的属性值。、说明主键、惟一键和外键的作用。说明它们2 在保证数据完整性中的应用方法。 作用是答:主键是唯一识别一个表的每一记录,并与将记录和存放在其他表中的数据进行关联,惟一键用于指明创建外键构成参照完整性约束。外键用于建立惟一约束的列上的取值必须惟一。通和加强两个表数据之间的链接的一列或多列。过将保存表中主键值的一列或多列添加到另一这个列就成个表中,可创建两个表之间的链接。外键约束的主要目的是控制为第二个表的外键。但它还可以控制对主键存储在外键表中的数据, 表中数据的修改。、参
10、照完整性要求有关联的两个或两个以上表3参照完整性可以通过建立_。之间数据的_一致性 来实现。外键和_主键_语句,向表中添4、创建表用_CREATE TABLE 语句,查看表的定义信加记录用_INSERT INTO_ 用改语EXECUTE sp_help 句,修表 用息 DROP 语句,删除表用TABLE语句。TABLE ALTER 5、SQL Server 2005中有哪些类型数据? 答:参见教材表。 6、现有图书管理数据库的三个关系模式: 图书(总编号,分类号,书名,作者,出版单位,单价) 读者 (借书证号,单位,姓名,性别,职称,地址) 借阅 (借书证号,总编号,借书日期)利SQLServ
11、er200创建图书管理库和书、读者和借阅三个基本表的表结构)利SQLServer200在三个表中分别插以下所给元组图书总编分类书出版单17.90445501 TP3/12数据科学版导17.90科学445502 TP3/12数据版导17.90数据445503 TP3/12科学版导论 332211 TP5/10 计算机李高等教18.00 伟 育出版基础 社 电子工23.60 112266 TP3/12 FoxBASE 张三 业出版 社665544 TS7/21 高等数刘高等教20.00育出20.80线性北京114455 TR9/12学出12.50113388 TR7/90大学清华学出22.50人民
12、446601 TP4/13数据电出基22.50数据人民446602 TP4/13电出基22.50人民数据446603 TP4/13 基础 凌电出版云 社 32.70 449901 TP4/14 FoxPro周科学出 虹 版社 大全32.70 449902 TP4/14 FoxPro周科学出虹 版社 大全 21.80 高等教118801 TP4/15 计算机育出网21.80118802 TP4/15计算高等育出网读者性职地姓单教王维信111号424副财112 号316号讲 经113 系 105 讲师 1男信息 号楼周华发 114 316 系 1男 115 信息工程号楼赵正义224 师系 1副教
13、号楼男李 信息116 明 318 系 助计117李小号214机号计118助许鹏216机号教刘大计119318机号副国120 506贸号 国121讲510贸号 国122讲512贸号沈小助财123202号讲 财124 210 系2号楼副教马英明 男 125 财会212 授 系 借阅: 借书日期总编号借书证 号1997-3-19 445501 1121997-2-121253322111997-8-211114455031997-3-141121122661997-10-211146655441997-11-21144551201997-10-181*1997-12-124466031191997-
14、10-231124499011997-8-214499021151997-9-10118118801 第四章: 有图书管理数据库的三个关系模式:3.6第三章 图书(总编号,分类号,书名,作者,出版单位,单价) 读者 (借书证号,单位,姓名,性别,职称, 地址) 借阅 (借书证号,总编号,借书日期) 1.用SQL完成如下查询: 1)找出姓李的读者姓名和所在单位。 select 姓名,单位 from 读者 where 姓名like 李% 2)列出图书库中所有藏书的书名及出版单位。 select 书名,出版单位 from 图书 3)查找高等教育出版社的 所有图书及单价,结果按单价降序排序。 sele
15、ct 出版单位,书名,单价 from 图书 高等教育出版社=出版单位where order by 单价desc 4)查找价格介于10元和20元之间的图书种类,结果按出版单位和单价升序排序。 select 书名,出版单位,单价 from 图书 where 单价between 10.00 and 20.00 order by 出版单位,单价asc 5)查找书名以计算机打头的所有图书和作者。 select 书名,作者 from 图书 where 书名like 计算机% 6)检索同时借阅了总编号为112266和449901两本书的借书证号。 select 借阅.总编号,借书证号 from 图书,借阅
16、where 图书.总编号=借阅.总编号and 借阅.总编号in (112266,449901) 查找所有借了书的读者的姓名及所在单位。 7) select distinct 姓名,单位 from 读者inner join 借阅 on 借阅.借书证号=读者.借书证号 8)找出李某所借图书的所有图书的书名及借书日期。 select 书名,姓名,借书日期 from 图书inner join 借阅 on 图书.总编号=借阅.总编号 join 读者 on 借阅.借书证号=读者.借书证号 where 读者.姓名like 李% 9)查询1997年10月以后借书的读者借书证号、姓名和单位。 select di
17、stinct 读者.借书证号,姓名,单位 from 借阅inner join 读者 on 借阅.借书证号=读者.借书证号 where 借阅.借书日期=1997-10-1 大全一书的借书证号。FoxPro找出借阅了10) select 借书证号 from 借阅 where 总编号in (select 总编号 from 图书 where 书名=FoxPro大全) 11)找出与赵正义在同一天借书的读者姓名、所在单位及借书日期 。 select 姓名,单位,借书日期 from 借阅,读者 where 借阅.借书证号=读者.借书证号and 借书日期=(select 借书日期 from 借阅,读者 whe
18、re 借阅.借书证号=读者.借书证号and 姓名=赵正义) 12)查询1997年7月以后没有借书的读者借书证号、姓名及单位。 单位,姓名,借书证号select distinct from 读者 where 借书证号not in (select 借书证号 from 借阅 where 借书日期=1997-07-01 ) 2.完成下面SQL高级查询: 13)求科学出版社图书的最高单价、最低单价、平均单价。 select max(单价) 最高单价,min(单价) as 最低单价,avg(单价) as 平均单价 from 图书 where 出版单位=科学出版社 14)求信息系当前借阅图书的读者人次数。
19、select count(借书证号) from 借阅 where 借书证号in (select 借书证号 from 读者 ) 信息系=单位 where 15)求出各个出版社图书的最高价格、最低价格和册数。 select 出版单位,max(单价) 最高价格,min(单 价) as 最低价格,count(*) 册数 from 图书 group by 出版单位 16)分别找出各单位当前借阅图书的读者人数。 select 单位,count(借阅.借书证号) from 借阅,读者 where 借阅.借书证号in (select 借书证号 from 读者) group by 单位 17)找出当前至少借阅了
20、2本图书的读者及所在单位。 select 姓名,单位 from 读者 where 借书证号in (select 借书证号 借阅 from group by 借书证号 having count(*)=2) 18)分别找出借书人次超过1人次的单位及人次 数。 select 单位,count(*) as 超过人次 from 借阅,读者 where 读者.借书证号=借阅.借书证号 group by 单位 having count(*)=2 19)找出藏书中各个出版单位的册数、价值总额。 select 出版单位,count(*) 册数,sum(单价) 总价 from 图书 group by 出版单位 2
21、0)查询经济系是否还清所有图书。如果还清,显示该系所有读者的姓名、所在单位和职称 select 姓名,单位,职称 读者from and not exists (select =经济系where 单位* from 借阅读者,借书. where 读者) =借阅.借书证号and 单位=经济系证号、为什么说视图是虚表?视图的数据存在什么3 地方?它在存储时只存储视图的定义,答:视图是虚表,视图通过定义从基表中而没有存储对应的数据。数据存储在对应的数并展现给用户。搜集数据, 据表中。语句,修改视图用 CREATE 4VIEW 、创建视图用语句。语句,删除视图用DROP VIEWALTER VIESELE
22、CT查看视图中的数据用语句。查看视图的基本信息用sp_helptext存储过程,查看视图的定义信息用 EXEC sp_helptext 存储过程,查看视图的依赖关系用EXEC sp_ depends存储过程。 5、说明视图的优缺点。 视图(2)视图能简化用户的操作;(1)答:优点: 机制可以使用户以不同的方式查询同一数据;(3)视图对数据库重构提供了一定程度的逻辑独立性;(4)视图可以对机密的数据提供安全保护。 缺点:(1)降低性能,通过视图查询起来需要花费时间;(2)视图是只读的,更新时需要更新原表,对用户来说很麻烦。 6、通过视图修改数据要注意哪些限制? 答:对视图进行的修改操作有以下限制
23、: (1)若视图的字段来自表达式或常量,则不允许对该视图执行INSERT和UPDATE操作,但允许执行DELETE操作。 (2)若视图的字段来自集合函数,则此视图不允许修改操作。 (3)若视图定义中含有GROUP BY 子句,则此视图不允许修改操作。 (4)若视图定义中含有DISTINCT短语,则此视图不允许修改操作。 (5)一个不允许修改操作视图上定义的视图,也不允许修改操作。 第五章: 、什么是批处理?批处理的结束标志是什么?1 答:批处理就是一个或多个Transact-SQL语句的集合,用GO语句作为一个批处理的结束。 2、一些SQL语句不可以放在一个批处理中进行 处理,它们需要遵守什么
24、规则? 答:一些SQL语句不可以放在一个批处理中进行处理,它们需要遵守以下规则: (1)大多数CREATE命令要在单个批命令中执行,但CREATE DATABASE、CREATE TABLE和CREATE INDEX例外。 (2)调用存储过程时,如果它不是批处理中的第一个语句,则在其前面必须加上EXECUTE,或简写为EXEC。 (3)不能把规则和默认值绑定到表的字段或用户定义数据类型上之后,在同一个批处理中使用它们。 (4)不能在给表字段定义了一个CHECK约束后,在同一个批处理中使用该约束。 (5)不能在修改表的字段名后,在同一个批处理中引用该新字段名。 3、常量和变量有哪些种类? 答:常
25、量有字符串常量、数值常量、日期常量。 变量主要有局部变量和全局变量。 、什么是用户自定义函数?它有哪些类型?建4 修改和删除用户自定义函数使用什么命令?立、个或多个定用户义的函数是由一答: 语句组成的子程序。用户定义的Transact-SQL多语句表函数类型有标量函数、内嵌表值函数、值函数。建立、修改、删除用户自定义函数命令和ALTER FUNCTION分别是CREATE FUNCTION、 。DROP FUNCTION 5、使用游标访问数据包括哪些步骤?答:使用游标访问数据包括的步骤有声明游标、打开游标、从游标中获取数据、关闭游标、释放 游标。 第六章: 、创建索引的好处主要有哪些?1创建索
26、引好处主要是加快数据查询和加快表答: 的连接、排序和分组工作。惟_、按照索引值的特点分类,可将索引分为2按照索引结构的特点非惟一一_索引和_索引;_非聚集索引和聚集分类,可将索引分为_索引。 、聚集索引与非聚集索引之间有哪些不同点?3 答:聚集索引会对表进行物理排序,而非聚集索引不会对表进行物理排序。 4、在哪些情况下SQL Server 2005会自动建立 索引?这些索引能否用DROP INDEX语句来删除?如果不能,应当用什么方法来删除? 答:在创建或修改表时,如果添加了一个主键或惟一键约束,则系统将自动在该表上,以该键值作为索引列,创建一个惟一索引。对于通过主键和唯一约束创建的索引是不能
27、够通过DROP INDEX来删除的。删除方法是通过删除主键约束(或唯一约束)来自动删除由该主键约束(或唯一约束)创建出来的索引。 第七章: 1、简述使用存储过程有哪些优缺点? 答:优点: (1)通过本地存储、代码预编译和缓存技术实现高性能的数据操作。 (2)通过通用编程结构和过程重用实现编程框架。如果业务规则发生了变化,可以通过修改存储过程来适应新的业务规则,而不必修改客户端 应用程序。 (3)通过隔离和加密的方法提高了数据库的安全性。 缺点:移植性较差,增加数据库服务器压力。 2、创建存储过程有哪些方法?执行存储过程使用什么命令? 答:创建存储过程有两种方法,可用通过SQL命令建立或者通过S
28、QL Server Management Studio图形界面建立。执行存储过程使用EXECUTE命令。 3、执行存储过程时,在什么情况下可以省略EXECUTE关键字? 答:如果存储过程是批处理中的第一条语句,那么不使用 EXECUTE 关键字也可以执行该存储过程。 4、说明存储过程重新编译的作用和3种重新编译的方法。 答:通过对存储过程进行重新编译,可以重新优化存储过程的执行计划。三种重新编译的方法分别是: 1)在创建存储过程时,使用WITH RECOMPILE子句来指示SQL Server 2005不将该存储过程的查而是在每次运行时重新编询计划保存在缓存中, 译和优化,并创建新的执行计划。
29、 2)通过在执行存储过程时设定重新编译,可以让SQL Server 2005在执行存储过程时重新编译 存储过程。 3)通过系统存储过程sp_recompile设定重新编译标记,使存储过程和触发器在下次运行时重新编译。 5、简述使用触发器有哪些优缺点。 答: 优点: (1)多张表的级联修改。触发器能实现各种级联操作,包括数据的修改、插入和删除。 (2)强于CHECK的复杂限制。 (3)比较数据修改前后的差别。 (4)强制表的修改要合乎业务规则。 缺点: (1)可移植性是触发器最大的缺点。 (2)占用服务器端太多的资源。 (3)不能做DDL。 (4)触发器排错困难,而且数据容易造成不一致,后期维护
30、不方便。 6、说明创建触发器命令中FOR、AFTER、INSTEAD 各表示什么含义?OF 答: (1)FOR | AFTER。FOR与AFTER同义,指定触发器只有在触发SQL语句中指定的所有操作都 已成功执行后才激发。所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器,即为后触发。 (2)INSTEAD OF。指定执行触发器而不执行造成触发的SQL语句,从而替代造成触发的语句。在表或视图上,每个INSERT、UPDATE或DELETE 语句只能定义一个INSTEAD OF触发器,替代触发。 7、TRUNCATE TABLE语句是否会激活DELETE触发器?在触发器中的SQL语句有哪些限制? 答:由于TRUNCATE TABLE语句的操作不被记录到事务日志,所以它不会激活DELETE触发器。所有建立和修改数据库及其对象的语句、所有DROP语句都不允许在触发器中使用。 第八章: 1、什么是备份设备?物理设备标识和逻辑名之间有什么关系? 事务日志或文备份设备是用来存储数据库、答: 件和文件组备份的存储介质。备份设备可以是硬盘、磁
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1