首页 《SQL Server 2005实用教程》习题答案

《SQL Server 2005实用教程》习题答案

举报
开通vip

《SQL Server 2005实用教程》习题答案第三章 第一章 一、填空题 1. 5 , 企业版(Enterprise Edition)、开发人员版(Developer Edition)、标准版(Standard Edition)、工作组版(Workgroup Edition)、简易版(Express Edition)。 2.数据库引擎服务(SQL Server)、代理服务(SQL Server Agent)、分析服务(SQL Server Analysis Services)、浏览器服务(SQL Server Browser)、集成服务(SQL Server ...

《SQL Server 2005实用教程》习题答案
第三章 第一章 一、填空题 1. 5 , 企业版(Enterprise Edition)、开发人员版(Developer Edition)、 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 版(Standard Edition)、工作组版(Workgroup Edition)、简易版(Express Edition)。 2.数据库引擎服务(SQL Server)、代理服务(SQL Server Agent)、分析服务(SQL Server Analysis Services)、浏览器服务(SQL Server Browser)、集成服务(SQL Server Integration Services)、全文索引服务(SQL Server Full Text Search))、报 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 服务(SQL Server Report Server)。 3.开发人员版、标准版、工作组版、简易版。 二、判断题 1. × 2.√ 三、简答题 1.可以在哪些操作系统平台下安装使用SQL Server 2005企业版? Windows 2000 Server SP4 Windows 2000 Advanced Server SP4 Windows 2000 Datacenter Edition SP4 Windows Server 2003 SP1 Windows Server 2003 Enterprise Edition SP1 Windows Server 2003 Datacenter Edition SP1 Windows Small Business Server 2003 Standard Edition SP1 Windows Small Business Server 2003 Premium Edition SP1 ……等 2.简述如何启动、停止数据库引擎服务。 P11 第二章 一、填空题 1.4 2.8 二、选择题 1.C 2.A 三、综合题 1.创建一个数据类型New_str,要求其为字符型,最大长度为12,不允许为空,写出实现的语句。 USE master; EXEC sp_addtype New_str, 'varchar(12)', 'NOT NULL'; 第三章 一、判断题 1.√ 2.× 3.× 4.× 5.× 6.√ 7.√ 8.√ 9.√ 10.√ 二、选择题 1.A 2.C 3.C 4.B 5.A 6.A 7.A 8.B 9.D 10.A 三、填空题 1.主数据文件 和 从数据文件, .MDF 、 .NDF 。 2.Create Database 。 3. SP_HelpDB 。 4. ALTER DATABASE 数据库名 MODIFY FILE 。 5.ALTER DATABASE 数据库名 MODIFY FILE 、 DBCC shrink database 。 6.SP_DBOPTION 。 7.DROP DATABSE 。 8.SP_DETACH_DB '数据库名'[,[ @skipchecks = ] 'skipchecks' ] 。 9. SP_ATTACH_DB '数据库名',’主数据文件的路径’ 。 10.CREATE TABLE 。 11.ALTER TABLE 。 12.DROP TABLE 。 13.INSERT 。 14.UPDATE 。 15.DELETE 。 四、问答题 1.什么是约束?其作用是什么? 约束定义了关于允许什么数据进入数据库的规则。使用约束的目的是为了防止列出现非法数据,以保证数据库中数据的一致性和完整性。 2.什么是数据完整性?完整性有哪些类型? 为了维护数据库中的数据和现实世界的一致性,SQL Server提供了确保数据库中数据的完整性技术。数据完整性是指存储在数据库中的数据的一致性和准确性。数据完整性有3种类型:域完整性、实体完整性和参照完整性。关系数据库的数据与更新操作必须满足这3种完整性规则。 3.已知数据库Sales中有两张表E1和E2,其数据结构和相应内容如表3.8和表3.9所示。 (1)写出删除表E2中那些已在表E1中存在的记录的命令序列。 Delete E2 Where 编号=’007’ Delete E2 Where 编号=’009’ (2)写出将表E2的记录插入到表E1中的命令序列。 Insert into E1 values(002,方秀丽,女) Insert into E1 values(004,江静,女) Insert into E1 values(006,苏立,男) 或 Insert into E1 select * from E2 4.已知数据库Sales中有两张表G1和G2,其数据结构和相应内容如表3.10、表3.11所示。 第四章 一、填空题 1.去除重复记录 2.升序 ,降序 。 3.字段 ,行 。 4.返回汇总行 。 5.附加行 二、单项选择题 1.B 2.C 3.B 4.C 5.A 三、针对本章使用的sales数据库,利用SELECT语句查询下列问题。 1.查询进货表中前6件商品的信息。 Select top 6 * from goods 2.查询商品的进货价格,并按进货价从大到小排序。 Select 商品名称,进货价 from goods order by 进货价desc 3.查询销售商品的名称、进货价、零售价和售出时间。 Select 商品名称,进货价,零售价,售出时间 from goods join sell on goods.商品编号= sell.商品编号 4.查询商品的平均零售价格。 Select 商品名称,avg(零售价) From goods Group by 商品名称 5.查询销售时间在2004年1月1日至2005年1月1日之间的商品名称、进货数量、销售时间。 Select 商品名称,goods.数量,售出时间 from goods join sell on goods.商品编号= sell.商品编号 where 售出时间>=’2004-1-1’ and 售出时间<=’2005-1-1’ 6.使用COMPUTE BY分别查询每一个销售人员的销售总数量。 Select * from sell order by 售货员工编号 COMPUTE sum(数量) BY 售货员工编号 7.使用LIKE查询显示器类商品的名称、进货数量和销售数量。 Select 商品名称,goods.数量 as 进货数量,sell.数量 as 销售数量 from goods join sell on goods.商品编号= sell.商品编号 where 商品名称 like ‘%显示器%’ 8.查询打印机的销售数量。 Select 商品名称,sum(sell.数量) as 销售数量 from goods join sell on goods.商品编号= sell.商品编号 where 商品名称= ‘打印机’ group by 商品名称 第五章 一、填空题 1.索引 。 2.非唯一索引 。 3.聚集索引 。 4.唯一聚集索引 。 5.更新表的索引统计信息 。 二、单项选择题 1.B 2.C 3.C 4.D 5.E 三.简答题 1.什么叫索引,索引有哪些优点? 索引是一个单独的、物理的数据库结构。它由某个表中的一列或者若干列的值,以及这些值记录在表中存储位置的物理地址所组成。 使用索引可以极大的改善数据库的性能,其表现在如下方面。 ● 通过创建唯一性索引,可以保证每一行数据的唯一性。 ● 可以大大的加快数据的检索速度,这正是使用索引的最主要的原因。 ● 在使用ORDER BY和GROUP BY子句进行数据检索时,可以减少查询中分组和排序的时间。 ● 加速表与表之间的连接,特别是在实现数据库的参照完整性上很有意义。 ● 可以在检索数据的过程中提高系统性能。 2.设置索引的原则是什么? ● 在主键上创建索引。 ● 在经常需要检索的字段上创建索引。 ● 在外键上创建索引。 ● 在经常需要排序的列上创建索引。 3.聚集索引和非聚集索引有什么区别,哪个的检索效率更高? P87 第六章 一、填空题 1.查询 2.ALTER VIEW 3.WITH ENCRYPTION 。 4.使用视图修改基表中的数据时,必须保证修改后的数据满足定义视图的限制条件 。 5.1 二、单项选择题 1.C 2.B 3. C 4.D 5.A 三、简答题 1.视图和表有什么区别? 2.视图有哪些优点? (1)视点集中。使用户只关心感兴趣的某些特定数据和他们所负责的特定任务,那些不需要或无用的数据则不必在视图中显示。 (2)简化操作。视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新编写这些复杂的查询语句,只要一条简单的查询视图语句即可。 (3)定制数据。视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这就显得极为重要。 (4)合并分割数据。 可以重新保持表原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。 (5)安全性。视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据,其他数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,其必须被授予访问权限。视图所引用表的访问权限与视图权限的设置互不影响。 3.通过视图插入、更新和删除数据操作的注意事项是什么? (1)修改视图中的数据时,可以对基于两个以上基表或视图的视图进行修改,但是不能同时影响两个或者多个基表,每次修改都只能影响一个基表。 (2)不能修改那些通过计算得到的列,例如年龄和平均分等。 (3)若在创建视图时定义了 WITH CHECK OPTION选项,那么使用视图修改基表中的数据时,必须保证修改后的数据满足定义视图的限制条件。 (4)执行UPDATE或DELETE命令时,所更新或删除的数据必须包含在视图的结果集中。 (5)当视图引用多个表时,无法用DELETE命令删除数据,若使用INSERT或UPDATE语句对视图进行操作时,被插入或更新的列必须属于同一个表。 第七章 一、填空题 1.系统,用户 2.符号和运算符 3.算术运算符 、 比较运算符 、 逻辑运算符 、 赋值运算符 4.set或 select 。 5.声明 、 读取 、 关闭 二、选择题 1.B 2.BC 3.A 4.D 5.C 三、综合题 1.什么叫批处理?批处理的结束标志是什么?建立批处理要注意什么事项? 批处理就是单个或多个T-SQL语句的集合,由应用程序一次性发送给SQL Server解释并执行批处理内的所有语句指令。 使用GO命令和使用EXECUTE命令可以将批处理发送给SQL Server。 (1)CREATE DEFAULT、CREATE RULE、CREATE VIEW、CREATE PROCEDURE、和CREATE TRIGGER语句,只能在单独的批处理中执行。 (2)将默认值和规则绑定到表字段或用户自定义数据类型上之后,不能立即在同一个批处理中使用它们。 (3)定义一个CHECK约束之后,不能立即在同一个批处理中使用这个约束。 (4)修改表中的字段名之后,不能立即在同一个批处理中使用这个新字段名。 (5)用户定义的局部变量的作用范围局限于一个批处理内,并且在GO命令后不能再引用这个变量。 (6)如果一个批处理中的第一条语句是执行某存储过程的EXEC语句,则EXEC关键字可以省略不写;如果不是批处理的第一条语句,则必须要有EXEC关键字。 2.简述局部变量的声明和赋值方法。 (1)局部变量的声明。在使用局部变量以前,必须使用DECLARE语句来声明这个局部变量。DECLARE语句的语法格式如下: DECLARE @局部变量名 数据类型[,…n] (2)局部变量的赋值。给局部变量赋值有两种方法,可以使用SET语句赋值,也可以使用SELECT语句赋值。 使用SET语句赋值的语法格式为: SET { @局部变量名=表达式}[,…n] 使用SELECT语句赋值的语法格式为: SELECT @局部变量名=表达式[,…n] 3.写出Transact-SQL语句,将SQL Server 2005 服务器的名称放在局部变量@srv中,并将该局部变量的值输出显示在屏幕上。想一想,可以用几种方法实现该局部变量的赋值和显示? Declare @srv char(20) Set @srv=@@servername Select @srv 4.下面的语句错在什么地方?应该如何修改才能显示@的值为2? DECLARE @a int SELECT @a = 1 GO SET @a=@a+1 SELECT @a DECLARE @a int SELECT @a = 1 --GO SET @a=@a+1 SELECT @a 5.在Sales数据库中查询各商品的进货数量及剩余数量。 Select 商品名称,goods.数量-isnull(sum(sell.数量),0) 剩余数量 from goods left join sell on goods.商品编号= sell.商品编号 GROUP BY 商品名称,goods.数量 第八章 一、填空题 1. 存储过程 2.存储过程 。字符串变量 3.T-SQL 和 CLR 4.WITH ENCRYPTION 5.master 、sp_。 二、选择题 1.A 2. B 3.D 4.C 5.B 三、综合题 1.存储过程与存储在客户计算机的本地T-SQL语句相比,它具有什么优点? (1)执行速度快,改善系统性能。 (2)减少网络流量。 (3)增强代码的重用性和共享性。 (4)提供了安全机制。 2.SQL Server支持哪几类存储过程? 在SQL Server 2005中,存储过程有3种类型。 (1).用户自定义存储过程 用户自定义存储过程包括Transact-SQL和CLR两种。 (2).系统存储过程 (3).扩展存储过程 3.希望人力资源部门的用户可以在Sales数据库中插入、更新和删除数据,但不希望他们有访问基表的权限。那么除了创建一个视图以外,还能如何实现该目标? 可以创建能实现相应功能的存储过程 4.在Sales数据库中建立一个名为proc_find的存储过程,如果查询到指定的商品,则用RETURN语句返回1,否则返回0。 --创建存储过程 create proc proc_find @spmc char(20) as if exists (select * from goods where 商品名称=@spmc) return 1 else return 0 --执行存储过程 declare @i int exec @i=proc_find '打印机' select @i as 返回值 5.在Sales数据库中建立一个名为date_to_date_sales的存储过程,该存储过程将返回在两个指定日期之间的所有销售记录。 create proc date_to_date_sales @d1 datetime ,@d2 datetime as select * from sell where 售出时间 between @d1 and @d2 exec date_to_date_sales '2004-1-1','2005-1-1' 第九章 一、填空题 1.Inserted、DELETE 和 UPDATTE 2.After 和 instead of 3.Create、 Alter 、 Drop 4.表 或 触发器 、 表 5. DML 二、选择题 1. D 2.A 3.B 4.C 5.B 6.D 三、综合题 1.什么是触发器,触发器有什么功能? 触发器是一种特殊的存储过程,在语言事件发生时,所设置的触发器就会自动被执行,以进行维护数据完整性或其他一些特殊的任务。 触发器功能: 1).DML触发器 DML触发器有助于在表或视图中修改数据时强制业务规则,扩展数据完整性,它具有以下功能。 (1)级联修改数据库中相关的表。 (2)实现比CHECK约束更为复杂的约束操作。 (3)拒绝或回滚违反引用完整性的约束操作。 (4)比较表修改前后数据之间的差别,并根据差别采取相应的操作。 2).DDL触发器 DDL触发器用于执行管理任务,并强制影响数据库的业务规则。它具有以下功能。 (1)防止对数据库架构进行某些更改。 (2)使得数据库中发生某种情况以响应数据库架构中的更改。 (3)记录数据库架构中的更改或事件。 2.在Sales数据库中,创建触发器tri_ReportGoods,当商品库存低于5件时发出库存量少请求进货的提示信息。 create trigger tri_ReportGoods on sell for insert as declare @sbh char(6),@smc char(20),@sysl int select @sbh=inserted.商品编号,@smc=商品名称 from inserted join goods on inserted.商品编号=goods.商品编号 Select @sysl=goods.数量-isnull(sum(sell.数量),0) from goods left join sell on goods.商品编号= sell.商品编号 where goods.商品编号=@sbh GROUP BY goods.商品编号,goods.数量 if @sysl<5 print @smc+'的库存少于5件,请及时进货' --测试触发器 insert into sell values('2',2,'2009-12-1','1301') 3.在Sales数据库中,创建触发器tri_GoodsCount,当商品销售之后,相应的库存要有所变化。 create trigger tri_GoodsCount on sell for insert as declare @sbh char(6),@sl int select @sbh=inserted.商品编号,@sl=inserted.数量 from inserted join sell on inserted.商品编号=sell.商品编号 update goods set 数量=数量-@sl where goods.商品编号=@sbh --测试触发器 insert into sell values('2',2,'2009-12-2','1301') select * from goods 4.更改tri_ReportGoods触发器,当商品库存低于10件时才发出库存量少请求进货的提示信息,并对触发器定义文本进行加密。 alter trigger tri_ReportGoods on sell WITH ENCRYPTION for insert as declare @sbh char(6),@smc char(20),@sysl int select @sbh=inserted.商品编号,@smc=商品名称 from inserted join goods on inserted.商品编号=goods.商品编号 Select @sysl=goods.数量-isnull(sum(sell.数量),0) from goods left join sell on goods.商品编号= sell.商品编号 where goods.商品编号=@sbh GROUP BY goods.商品编号,goods.数量 if @sysl<10 print @smc+'的库存少于10件,请及时进货' 5.在Sales数据库中,创建一个DDL触发器,以防止表的删除。 create trigger tri_ddl on database for drop_table as print '不能删除该数据库中的表。' rollback --测试触发器 drop table dbo.aa 6.创建一个DDL触发器,保护当前服务器中的所有数据库不能被修改。 create trigger tri_alter_database on all server for alter_database as print '不能修改该数据库。' rollback 第十章 一、判断题(在命题的后面用“√”或“”符号表示“正确”或“错误”) 1.√ 2.√ 3. × 4.√ 5.√ 二、选择题 1.D 2.A 3.A 4.A 5.D 三、填空题 1.标量函数 内嵌表值函数 多语句表值函数。 2.原子性 、 一致性、隔离性、 持久性 。 3. 共享锁 、 更新锁、 独占锁 。 4.多个用户的并发操作,防止用户读取正在由其他用户更改的数据或者多个用户同时修改同一数据,确保事务的完整性和数据的一致性。 。 5.锁的粒度和类型 四、问答题 1.在Sales数据库中,编写函数显示表Sell指定日期的销售记录。 create function (@date datetime) returns table as return( select * from sell where 售出时间=@date) select * from fn_sell('2004-10-15') 2.在Sales数据库中,编写函数对表Sell进行统计并生成指定月份销售统计表,该表包含有两列:日期DateTime,日销售额Money。 create function fn_monthsell (@m int) returns @ms table (月份int, 月销售额money) as begin insert @ms select 月份=month(售出时间),月销售额=sum(sell.数量*零售价)-- from sell join goods on sell.商品编号=goods.商品编号 where month(售出时间)=@m group by month(售出时间) return end select * from fn_monthsell(10) 3. begin transaction update t1 set t1.数量=t1.数量+gg.数量 from t1 join gg on t1.编号=gg.编号 insert into t1 Select * from gg where 编号 not in (select 编号 from t1) commit transaction 第十一章 一、填空题 1.操作系统级、SQL server级、数据库级 。 2.Windows身份认证模式 和 混合模式。 3.创建新的数据库角色、分配权限给创建的角色、将这个角色授予某个用户 。 4.完整恢复模式 、 大容量日志恢复模式 、 简单恢复模式 。 5.完整备份、部分备份和文件备份 。 二、单项选择题 1.C 2.B 3.D 4.A 5.B 三、综合题 1.简述SQL Server 2005登录验证的两种模式的区别。 Windows身份验证模式下,SQL Server直接利用Windows 2000操作系统上创建的登录者来登录。 混合模式下,用户能使用Windows身份验证或SQL Server 2005的身份验证进行连接。 2.简述数据库权限管理中,角色有什么作用。 可用角色来管理用户权限 3.什么是物理备份设备和逻辑备份设备,他们的区别是什么? 物理备份设备是通过操作系统使用的路径名称来识别备份设备的,如D:\backup \aa.bak。 逻辑备份设备是用户给物理设备的一个别名。逻辑设备的名称保存在SQL Serve 2005数据库的系统表中。 物理备份设备实际上就是一个文件,可以存储在介质上,逻辑备份设备是SQL指向物理备份设备的一条记录。 4.数据库备份与数据库恢复有什么关系? 备份是指制作数据库结构、对象和数据的拷贝,以便在数据库遭到破坏的时候能够修复数据库。 还原是指从备份复制数据并将记录的事务应用于该数据以使其前滚到目标恢复点的过程。 恢复是指使数据库处于一致且可用的状态并使其在线的一组完整的操作。通常,在恢复点,数据库有未提交的事务,并处于不一致、不可用的状态。在此种情况下,恢复包括回滚未提交的事务。
本文档为【《SQL Server 2005实用教程》习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_236905
暂无简介~
格式:doc
大小:98KB
软件:Word
页数:13
分类:互联网
上传时间:2011-06-15
浏览量:77