




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章一、填空题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 Integration Services)、全文索引服务(SQL Server Full Text
2、 Search)、报表服务(SQL Server Report Server)。3开发人员版、标准版、工作组版、简易版。二、判断题1 2三、简答题1可以在哪些操作系统平台下安装使用SQL Server 2005企业版?Windows 2000 Server SP4 Windows 2000 Advanced Server SP4 Windows 2000 Datacenter Edition SP4Windows Server 2003 SP1Windows Server 2003 Enterprise Edition SP1Windows Server 2003 Datacenter Edi
3、tion SP1Windows Small Business Server 2003 Standard Edition SP1 Windows Small Business Server 2003 Premium Edition SP1等2简述如何启动、停止数据库引擎服务。P11第二章一、填空题14 28二、选择题1C 2A 三、综合题1创建一个数据类型New_str,要求其为字符型,最大长度为12,不允许为空,写出实现的语句。USE master;EXEC sp_addtype New_str, varchar(12), NOT NULL;第三章一、判断题123 45678910二、选择题1
4、A 2C 3C 4B 5A 6A 7A 8B 9D 10A三、填空题1主数据文件和 从数据文件,.MDF、.NDF。2Create Database 。3 SP_HelpDB 。4 ALTER DATABASE 数据库名 MODIFY FILE 。5ALTER DATABASE 数据库名 MODIFY FILE 、 DBCC shrink database 。6SP_DBOPTION 。7DROP DATABSE 。8SP_DETACH_DB 数据库名, skipchecks = skipchecks 。9 SP_ATTACH_DB 数据库名,主数据文件的路径 。10CREATE TABLE
5、。11ALTER TABLE 。12DROP TABLE 。13INSERT 。14UPDATE 。15DELETE 。四、问答题1什么是约束?其作用是什么?约束定义了关于允许什么数据进入数据库的规则。使用约束的目的是为了防止列出现非法数据,以保证数据库中数据的一致性和完整性。2什么是数据完整性?完整性有哪些类型?为了维护数据库中的数据和现实世界的一致性,SQL Server提供了确保数据库中数据的完整性技术。数据完整性是指存储在数据库中的数据的一致性和准确性。数据完整性有3种类型:域完整性、实体完整性和参照完整性。关系数据库的数据与更新操作必须满足这3种完整性规则。3已知数据库Sales中有
6、两张表E1和E2,其数据结构和相应内容如表3.8和表3.9所示。(1)写出删除表E2中那些已在表E1中存在的记录的命令序列。Delete E2 Where 编号=007Delete 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 E24已知数据库Sales中有两张表G1和G2,其数据结构和相应内容如表3.10、表3.1
7、1所示。第四章一、填空题1去除重复记录2升序 ,降序 。3字段 ,行 。4返回汇总行 。5附加行 二、单项选择题1B2C3B4C5A 三、针对本章使用的sales数据库,利用SELECT语句查询下列问题。1查询进货表中前6件商品的信息。Select top 6 * from goods2查询商品的进货价格,并按进货价从大到小排序。Select 商品名称,进货价 from goods order by 进货价desc3查询销售商品的名称、进货价、零售价和售出时间。Select 商品名称,进货价,零售价,售出时间 from goods join sell on goods.商品编号= sell.商
8、品编号 4查询商品的平均零售价格。Select 商品名称,avg(零售价)From goodsGroup by 商品名称5查询销售时间在2004年1月1日至2005年1月1日之间的商品名称、进货数量、销售时间。Select 商品名称,goods.数量,售出时间 from goods join sell on goods.商品编号= sell.商品编号where 售出时间=2004-1-1 and 售出时间=2005-1-16使用COMPUTE BY分别查询每一个销售人员的销售总数量。Select * from sell order by 售货员工编号COMPUTE sum(数量) BY 售货员
9、工编号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更新表
10、的索引统计信息 。二、单项选择题1B 2C3C 4D5E三简答题1什么叫索引,索引有哪些优点?索引是一个单独的、物理的数据库结构。它由某个表中的一列或者若干列的值,以及这些值记录在表中存储位置的物理地址所组成。使用索引可以极大的改善数据库的性能,其表现在如下方面。 通过创建唯一性索引,可以保证每一行数据的唯一性。 可以大大的加快数据的检索速度,这正是使用索引的最主要的原因。 在使用ORDER BY和GROUP BY子句进行数据检索时,可以减少查询中分组和排序的时间。 加速表与表之间的连接,特别是在实现数据库的参照完整性上很有意义。 可以在检索数据的过程中提高系统性能。2设置索引的原则是什么?
11、在主键上创建索引。 在经常需要检索的字段上创建索引。 在外键上创建索引。 在经常需要排序的列上创建索引。3聚集索引和非聚集索引有什么区别,哪个的检索效率更高?P87第六章一、填空题1查询2ALTER VIEW3WITH ENCRYPTION 。4使用视图修改基表中的数据时,必须保证修改后的数据满足定义视图的限制条件 。51 二、单项选择题1C2B 3 C 4D 5A三、简答题1视图和表有什么区别?2视图有哪些优点?(1)视点集中。使用户只关心感兴趣的某些特定数据和他们所负责的特定任务,那些不需要或无用的数据则不必在视图中显示。(2)简化操作。视图大大简化了用户对数据的操作。因为在定义视图时,若
12、视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新编写这些复杂的查询语句,只要一条简单的查询视图语句即可。(3)定制数据。视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这就显得极为重要。(4)合并分割数据。可以重新保持表原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。(5)安全性。视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据,其他数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,其必须被授予访问权限。视图所引用表的访问权限与视图权限的设置互不
13、影响。3通过视图插入、更新和删除数据操作的注意事项是什么?(1)修改视图中的数据时,可以对基于两个以上基表或视图的视图进行修改,但是不能同时影响两个或者多个基表,每次修改都只能影响一个基表。(2)不能修改那些通过计算得到的列,例如年龄和平均分等。(3)若在创建视图时定义了 WITH CHECK OPTION选项,那么使用视图修改基表中的数据时,必须保证修改后的数据满足定义视图的限制条件。(4)执行UPDATE或DELETE命令时,所更新或删除的数据必须包含在视图的结果集中。(5)当视图引用多个表时,无法用DELETE命令删除数据,若使用INSERT或UPDATE语句对视图进行操作时,被插入或更
14、新的列必须属于同一个表。第七章一、填空题1系统,用户2符号和运算符3算术运算符 、 比较运算符 、 逻辑运算符 、 赋值运算符4set或 select 。5声明 、 读取 、 关闭 二、选择题1B2BC3A4D5C三、综合题1什么叫批处理?批处理的结束标志是什么?建立批处理要注意什么事项?批处理就是单个或多个T-SQL语句的集合,由应用程序一次性发送给SQL Server解释并执行批处理内的所有语句指令。使用GO命令和使用EXECUTE命令可以将批处理发送给SQL Server。(1)CREATE DEFAULT、CREATE RULE、CREATE VIEW、CREATE PROCEDURE
15、、和CREATE TRIGGER语句,只能在单独的批处理中执行。(2)将默认值和规则绑定到表字段或用户自定义数据类型上之后,不能立即在同一个批处理中使用它们。(3)定义一个CHECK约束之后,不能立即在同一个批处理中使用这个约束。(4)修改表中的字段名之后,不能立即在同一个批处理中使用这个新字段名。(5)用户定义的局部变量的作用范围局限于一个批处理内,并且在GO命令后不能再引用这个变量。(6)如果一个批处理中的第一条语句是执行某存储过程的EXEC语句,则EXEC关键字可以省略不写;如果不是批处理的第一条语句,则必须要有EXEC关键字。2简述局部变量的声明和赋值方法。(1)局部变量的声明。在使用
16、局部变量以前,必须使用DECLARE语句来声明这个局部变量。DECLARE语句的语法格式如下:DECLARE 局部变量名 数据类型,n(2)局部变量的赋值。给局部变量赋值有两种方法,可以使用SET语句赋值,也可以使用SELECT语句赋值。使用SET语句赋值的语法格式为:SET 局部变量名=表达式,n使用SELECT语句赋值的语法格式为:SELECT 局部变量名=表达式,n3写出Transact-SQL语句,将SQL Server 2005 服务器的名称放在局部变量srv中,并将该局部变量的值输出显示在屏幕上。想一想,可以用几种方法实现该局部变量的赋值和显示?Declare srv char(2
17、0)Set srv=servernameSelect srv4下面的语句错在什么地方?应该如何修改才能显示的值为2?DECLARE a intSELECT a = 1GOSET a=a+1SELECT aDECLARE a intSELECT a = 1-GOSET a=a+1SELECT a5在Sales数据库中查询各商品的进货数量及剩余数量。Select 商品名称,goods.数量-isnull(sum(sell.数量),0) 剩余数量from goods left join sell on goods.商品编号= sell.商品编号GROUP BY 商品名称,goods.数量第八章一、填
18、空题1 存储过程2存储过程 。字符串变量3T-SQL 和 CLR4WITH ENCRYPTION5master 、sp_。二、选择题1A 2 B 3D4C5B 三、综合题1存储过程与存储在客户计算机的本地T-SQL语句相比,它具有什么优点?(1)执行速度快,改善系统性能。(2)减少网络流量。(3)增强代码的重用性和共享性。(4)提供了安全机制。2SQL Server支持哪几类存储过程?在SQL Server 2005中,存储过程有3种类型。(1)用户自定义存储过程用户自定义存储过程包括Transact-SQL和CLR两种。(2)系统存储过程(3)扩展存储过程3希望人力资源部门的用户可以在Sal
19、es数据库中插入、更新和删除数据,但不希望他们有访问基表的权限。那么除了创建一个视图以外,还能如何实现该目标?可以创建能实现相应功能的存储过程4在Sales数据库中建立一个名为proc_find的存储过程,如果查询到指定的商品,则用RETURN语句返回1,否则返回0。-创建存储过程create proc proc_findspmc char(20)asif exists (select * from goodswhere 商品名称=spmc) return 1 else return 0-执行存储过程declare i intexec i=proc_find 打印机select i as 返回
20、值5在Sales数据库中建立一个名为date_to_date_sales的存储过程,该存储过程将返回在两个指定日期之间的所有销售记录。create proc date_to_date_salesd1 datetime ,d2 datetimeasselect * from sellwhere 售出时间 between d1 and d2exec date_to_date_sales 2004-1-1,2005-1-1第九章一、填空题1Inserted、DELETE 和 UPDATTE2After 和 instead of 3Create、 Alter 、 Drop 4表 或 触发器 、 表 5
21、 DML 二、选择题1 D 2A3B 4C5B 6D 三、综合题1什么是触发器,触发器有什么功能?触发器是一种特殊的存储过程,在语言事件发生时,所设置的触发器就会自动被执行,以进行维护数据完整性或其他一些特殊的任务。触发器功能:1)DML触发器DML触发器有助于在表或视图中修改数据时强制业务规则,扩展数据完整性,它具有以下功能。(1)级联修改数据库中相关的表。(2)实现比CHECK约束更为复杂的约束操作。(3)拒绝或回滚违反引用完整性的约束操作。(4)比较表修改前后数据之间的差别,并根据差别采取相应的操作。2)DDL触发器DDL触发器用于执行管理任务,并强制影响数据库的业务规则。它具有以下功能
22、。(1)防止对数据库架构进行某些更改。(2)使得数据库中发生某种情况以响应数据库架构中的更改。(3)记录数据库架构中的更改或事件。2在Sales数据库中,创建触发器tri_ReportGoods,当商品库存低于5件时发出库存量少请求进货的提示信息。create trigger tri_ReportGoodson sellfor insertasdeclare sbh char(6),smc char(20),sysl intselect sbh=inserted.商品编号,smc=商品名称 from inserted join goods on inserted.商品编号=goods.商品编号
23、Select sysl=goods.数量-isnull(sum(sell.数量),0) from goods left join sell on goods.商品编号= sell.商品编号 where goods.商品编号=sbh GROUP BY goods.商品编号,goods.数量if sysl5 print smc+的库存少于5件,请及时进货-测试触发器insert into sellvalues(2,2,2009-12-1,1301)3在Sales数据库中,创建触发器tri_GoodsCount,当商品销售之后,相应的库存要有所变化。create trigger tri_GoodsC
24、ounton sellfor insertasdeclare sbh char(6),sl intselect sbh=inserted.商品编号,sl=inserted.数量 from inserted join sell on inserted.商品编号=sell.商品编号update goodsset 数量=数量-slwhere goods.商品编号=sbh-测试触发器insert into sellvalues(2,2,2009-12-2,1301)select * from goods4更改tri_ReportGoods触发器,当商品库存低于10件时才发出库存量少请求进货的提示信息,
25、并对触发器定义文本进行加密。alter trigger tri_ReportGoodson sellWITH ENCRYPTIONfor insertasdeclare sbh char(6),smc char(20),sysl intselect 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.商品编号 w
26、here goods.商品编号=sbh GROUP BY goods.商品编号,goods.数量if sysl10 print smc+的库存少于10件,请及时进货5在Sales数据库中,创建一个DDL触发器,以防止表的删除。create trigger tri_ddlon database for drop_tableas print 不能删除该数据库中的表。 rollback-测试触发器drop table dbo.aa6创建一个DDL触发器,保护当前服务器中的所有数据库不能被修改。create trigger tri_alter_databaseon all server for alt
27、er_databaseas print 不能修改该数据库。 rollback 第十章一、判断题(在命题的后面用“”或“”符号表示“正确”或“错误”)12 3 4 5二、选择题1D2A3A4A5D三、填空题1标量函数 内嵌表值函数 多语句表值函数。2原子性 、 一致性、隔离性、 持久性 。3 共享锁 、 更新锁、 独占锁 。4多个用户的并发操作,防止用户读取正在由其他用户更改的数据或者多个用户同时修改同一数据,确保事务的完整性和数据的一致性。 。5锁的粒度和类型 四、问答题1在Sales数据库中,编写函数显示表Sell指定日期的销售记录。create function (date datetim
28、e)returns tableasreturn(select * from sellwhere 售出时间=date)select * from fn_sell(2004-10-15)2在Sales数据库中,编写函数对表Sell进行统计并生成指定月份销售统计表,该表包含有两列:日期DateTime,日销售额Money。create function fn_monthsell(m int)returns ms table(月份int,月销售额money)asbegininsert msselect 月份=month(售出时间),月销售额=sum(sell.数量*零售价)-from sell join goods on sell.商品编号=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 动物医学专业实习工作体会
- 物流行业在职员工职位信息证明(6篇)
- 2025年无缝短袖衫项目市场调查研究报告
- 多语种学校年级主任的职责与文化融合
- 环保行业污水处理技术人员职责
- 离婚起诉书的法律条款解析
- 2025年七年级英语课外活动计划
- 科研机构工作人员师德师风心得体会
- 酒驾警示教育在法律实务中的应用
- 果树栽培中的苗木成活技术措施
- 节拍速度渐变的彩灯控制器
- 桥梁施工期间渡洪、行洪专项方案
- 沈阳师范大学教学实验平台建设规划
- 巴西详细教案
- 乙型肝炎病毒表面抗原胶体金法说明书
- 基于PLC控制的物料分拣系统设计
- 人教部编版七年级历史下册教材插图汇总
- 济南市城乡建设用地增减挂钩试点项目管理办法
- 建筑工程竣工验收报告山西
- 启闭机房脚手架工程施工专项方案
- 变更监事模板
评论
0/150
提交评论