首页 SQL Server 2000习题及答案

SQL Server 2000习题及答案

举报
开通vip

SQL Server 2000习题及答案各章习题及答案 第一章 关系数据库原理 一、选择及填空题 (1) 在下列四个选项中,不属于基本关系运算的是【1】 A) 连接    B) 投影    C) 选择    D) 排序 (2) 如果一个班只能有一个班长,而且一班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于【2】 A) 一对一联系    B) 一对二联系    C) 多对多联系    D) 一对多联系 (3) 扩展名为mdf的文件是【3】 A) 主数据文件    B) 次数据文件    C) 日志文件    D) 项目文件 (4). SQ...

SQL Server 2000习题及答案
各章习 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 及答案 第一章 关系数据库原理 一、选择及填空题 (1) 在下列四个选项中,不属于基本关系运算的是【1】 A) 连接    B) 投影    C) 选择    D) 排序 (2) 如果一个班只能有一个班长,而且一班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于【2】 A) 一对一联系    B) 一对二联系    C) 多对多联系    D) 一对多联系 (3) 扩展名为mdf的文件是【3】 A) 主数据文件    B) 次数据文件    C) 日志文件    D) 项目文件 (4). SQL Server系统中的所有系统级信息存储于哪个数据库( )。 A. master    B.model C. tempdb    D.msdb 1.    SQL  Server的物理存储主要包括3类文件:        、        、        。 2.若一个关系为R(学生号,姓名,性别,年龄),则_      可以作为该关系的主码,姓名、性别和年龄为该关系的      属性。 二、简答题 1、什么是数据库? 2、数据库系统有哪些特点? 3、试给出三个实际情况的联系,要求实体之间具有一对一、一对多、多对多各种不同的联系。 4、学校中对教师教学进行评价,被评对象为教师,评价对象有同行教师,学生,专家。请用E—R图画出教学评价的概念模型。 第一章 关系数据库原理(答案) 一、选择及填空题 (1)~(4)daaa 1、主数据文件,次数据文件,日志文件 2、学生号,非主或非码 二、简答题 1、数据库:存储在一起的相关数据的集合(一个 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 内,表间直接关联,表间间接关联),无有害的或不必要的冗余(重复),可为多种应用服务,数据可以共享,对于拆、删、改、查等操作均可按照一种公共的可控制的方法进行。数据被结构化。 2、答案:1.数据结构化 2.数据的共享性高,冗余度低,易扩展 3.数据的独立性高 4.数据由DBMS统一管理和控制 3、答案:一对一:观众和座位 一对多:班级和学生 多对多:学生与课程 4、对于教学评价,对同一位被评教师而言,对其评价的学生、同行教师、专家都应该是多名,而且每一次成功评价后会得到一个评价数据,所以可得到对教师教学评价的E-R模型如下图所示。(为了便于图形表示,图中省略了同行教师实体的属性,同教师实体的属性。) 编号 第二章 数据库和表的创建 1、采用代码方式创建数据库XSCJ。要求:存储路径为C:\ ,数据库为XSCJ,主文件为prods_dat,初始容量为4MB,最大容量为10MB,增幅为1MB。 2、采用代码方式在数据库XSCJ中创建表XS_KC。要求如下表: 列名 数据类型 长度 是否允许为空值 默认值 说明 课程号 char 3 否 无 主键 课程名 char 20 否 无   授课教师 char 8 是 无   开课学期 tinyint 1 否 1 只能为1~6             第二章 数据库和表的创建(答案) 1、create database XSCJ on primary (name=prods_dat, filename=’c:\prods.mdf’, size=4, maxsize=10, filegrow=1) 2、create table XS_KC (课程号 char(3) not null, 课程名 char(20) not null, 授课教师 char(8), 开课学期 tinyint not null default 1 check(开课学期=1 or 开课学期=2 or开课学期=3 or 开课学期=4 or开课学期=5 or 开课学期=6) constraint pk_kc primary key (课程号) ) 第三章 数据库的查询和视图 参照上面各表完成下列各题: 1、查询XSQK表中陈姓学生的所有情况。 2、用嵌套方法(IN)查询最高分的学生的学号、课程号和成绩。 3、用嵌套方法(IN)查询最高分的学生的学号、姓名、联系电话和成绩。 4、查询学生的平均分。 5、查询平均分低于60的学生学号 6、查询有不及格学生的课程的授课教师 第三章 数据库的查询和视图(答案) 1、select * from xsqk where 姓名 like ‘陈%’ 2、select 学号,课程号,成绩 from xs_kc where 成绩 in(select max(成绩) from xs_kc ) 3、select a.学号,姓名,联系电话,成绩 from xsqk a inner join xs_kc b where b.成绩 in(select max(成绩) from xs_kc) 4、方法一:select distinct 学号, 平均分= (select avg(成绩) from xs_kc b where b.学号=a.学号) from xs_kc a 方法二:select distinct 学号,avg(成绩) from xs_kc group by 学号 5、方法一:select distinct 学号 from xs_kc a where 60> (select avg(成绩) from xs_kc b where b.学号=a.学号) 方法二:select distinct 学号,avg(成绩) from xs_kc group by 学号 having svg(成绩)<60 6、方法一:select distinct 授课教师 from kc where 课程号=any (select 课程号 from xs_kc where 成绩<60) 方法二:select distinct kc.授课教师 from kc inner join xs_kc on xs_kc.课程号=kc.课程号 where xs_kc.成绩<60 第四章 T-SQL语言 1、编写一个用户自定义函数average要求根据输入学号,求得该学生的各科的平均成绩。 2、使用日期函数求XSQK表中学生的年龄。 3、使用WHILE  CONTINUE  BREAK语句求8!。 4、使用case函数,根据学生的年龄范围显示相应信息(年龄在20岁以下的显示年龄较小,20到24岁的显示年龄适中,否则显示年龄偏大)。 第四章 T-SQL语言(答案) 1、 create function average(@stuno as char(10)) returns real begin declare @aver int select @aver= (select avg(成绩) from xs_kc where 学号=@stuno group by 学号) return @aver end 2、SELECT DATEDIFF(year,出生日期,getdate()) as 年龄 FROM xsqk 3、 declare @object int,@n int select @object=1,@n=8 while @n>0 begin set @object=@object*@n set @n=@n-1 if @n>1 continue else begin print‘8的阶乘为:' print @object break end end 4、 select 学号,年龄情况= case when year(getdate())-year(出生日期)<=20 then '年龄较小' when year(getdate())-year(出生日期)>20 and year(getdate())-year(出生日期)<24 then'年龄适中' else '年龄偏大' end from xsqk 第五章、游标、存储过程和触发器 1、使用游标要遵循以下顺序。 2、使用游标,显示xs_kc表中的第4条和第7条记录。 3、使用游标,显示所有107号课程成绩及格的记录。 4、创建存储过程a,从数据库中的三个表中查询,学号、姓名、课程号、授课教师、成绩。 5、创建存储过程a,从数据库中的三个表中查询某人的学号、姓名、课程名、授课教师、成绩。 6、创建存储过程a,从数据库中的三个表中查询某些人的学号、姓名、课程名、授课教师、成绩。 7、创建存储过程a,计算指定学生的总成绩。 8、创建一个嵌套调用的存储过程,实现1!+2!+3!+…+ n!。 9、如果向xs_kc表中添加或更改数据时,则将向客户端显示一条信息。 10、创建触发器,当向xs_kc表插入一记录时,检查该记录的学号在xsqk表中是否存在,检查课程号在kc表中是否存在,若有一项为否,则不允许插入。 11、创建一个删除类型的触发器notallowdelete,当在xsqk表中删除记录时,触发触发器,显示不允许删除表中数据的提示信息。以说明INSTEAD OF触发器的使用。 第五章、游标、存储过程和触发器(答案) 1、声明游标→打开游标→读取数据→关闭游标→删除游标 2、    declare  b  scroll  cursor for select  * from  xs_kc open  b fetch  absolute  5 from  b fetch  relative  2 from  b close  b deallocate  b 3、    declare  cur_107成绩  scroll  cursor for select  学号,课程号,成绩 from xs_kc where 课程号='107' and 成绩>=60 order by 学号 open  cur_107成绩 fetch next from cur_107成绩 while @@fetch_status=0 begin fetch next from cur_107成绩 end close cur_107成绩 deallocate cur_107成绩 4、 use a /*检查是否已存在同名的存储过程,若有,删除。*/ if exists(select name from sysobjects where name='a' and type='p') drop procedure a go /*创建存储过程*/ create procedure a as select xsqk.学号 as 学号,xsqk.姓名 as 姓名,xs_kc.课程号 as 课程号,kc.授课教师 as 授课教师,xs_kc.成绩 as 成绩 from xsqk,xs_kc,kc where xsqk.学号=xs_kc.学号 and xs_kc.课程号=kc.课程号 go 5、 use a /*检查是否已存在同名的存储过程,若有,删除。*/ if exists(select name from sysobjects where name='a' and type='p') drop procedure a go /*创建存储过程*/ create procedure a @姓名 char(8),@课程名 char(20) as select xsqk.学号 as 学号,xsqk.姓名 as 姓名,kc.课程名 as 课程名,kc.授课教师 as 授课教师,xs_kc.成绩 as 成绩 from xsqk,xs_kc,kc where xsqk.姓名= @姓名 and kc.课程名= @课程名 and xsqk.学号=xs_kc.学号 and xs_kc.课程号=kc.课程号 go 6、 use a /*检查是否已存在同名的存储过程,若有,删除。*/ if exists(select name from sysobjects where name='a' and type='p') drop procedure a go /*创建存储过程*/ create procedure a @姓名 char(8) as select xsqk.学号 as 学号,xsqk.姓名 as 姓名,kc.课程名 as 课程名,kc.授课教师 as 授课教师,xs_kc.成绩 as 成绩 from xsqk,xs_kc,kc where xsqk.姓名 like @姓名 and xsqk.学号=xs_kc.学号 and xs_kc.课程号=kc.课程号 go 7、 use a /*检查是否已存在同名的存储过程,若有,删除。*/ if exists(select name from sysobjects where name='a' and type='p') drop procedure a go /*创建存储过程*/ create procedure a @姓名 char(8),@总成绩 decimal output as Select @总成绩=sum(xs_kc.成绩) from xsqk,xs_kc where xsqk.姓名=@姓名 and xsqk.学号=xs_kc.学号 group by xs_kc.学号 go 8、 (1)、创建阶乘存储过程: create procedure jiecheng @n smallint, @j bigint output  as            select @j=1  while @n>0 begin select @j=@j*@n, @n=@n-1  end (2)、创建加法存储过程 CREATE procedure jiafa @n1 smallint, @s bigint output as declare @m1 bigint set @s=0 while @n1>0 begin execute jiecheng @n1,@m1 output select @s=@s+@m1, @n1=@n1-1 end 9、 (1)、创建触发器: create trigger reminder on xs_kc for insert,update as raiserror(‘数据添加或修改’,16,10) (2)、执行:insert into xs_kc (学号,课程号,成绩) values ('1', '1',1) 10、 (1)、创建触发器: create trigger checkstring on xs_kc for insert as if exists (select *  from xs_kc where xs_kc.学号 not in( select xsqk.学号 from xsqk)  or xs_kc.课程号 not in(select kc.课程号 from kc) ) begin raiserror('违背数据的一致性',16,1) rollback transaction end (2)、执行:insert into xs_kc (学号,课程号,成绩) values ('1', '1',1) (1)中另一种方法 create trigger checkstring1 on xs_kc for insert as if exists (select  *  from xs_kc,inserted where inserted.学号 not in(select xsqk.学号 from xsqk) or inserted.课程号 not in(select kc.课程号 from kc)) begin raiserror('违背数据的一致性',16,1) rollback transaction end 11、 创建触发器:create trigger notallowdelete on xsqk instead of delete as print ' instead of 触发器开始执行…… ' print '本表中的数据不允许删除' 执行: use a go delete from xsqk where 学号= ' 020101 ' go 第六章、批、事务和锁 1、什么是事务?必须具备哪几个ACID属性? 2、什么是锁?琐有哪几种模式? 第六章、批、事务和锁(答案) 1、(1)所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 (2)事务具有4个特性,即原子性、一致性、隔离性和持续性。 2、(1)锁就是防止其他事务访问指定资源的手段。 (2)锁定资源的方式有两种基本形式: 共享锁(Share Locks,简称S锁) 排它锁(Exclusive Locks,简称X锁) 。 第七章、索引与数据完整性的实现 1、为XS_KC表创建一个简单索引IX_学号,该索引只包含一个索引列即学号列,且按升序排序。 2、创建一个检查约束,限制联系电话的格式“区号-电话号码” 3、定义一个 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 对象对性别列进行检查,使性别只能取值1(表示男)或0(表示女),并将其绑定到XSQK表的性别列。 4、为XS_KC表和KC表建立基于课程号列的关联。 第七章、索引与数据完整性的实现(答案) 1、CREATE  INDEX  IX_学号 ON  XS_KC (学号) 2、ALTER TABLE XSQK ADD CONSTRAINT CH_联系电话格式 CHECK(联系电话 LIKE ‘_ _ _ _-_ _ _ _ _ _ _ %’) 3、CREATE RULE RO_性别 AS @性别=1 or @性别=0 绑定: sp_bindrule RO_性别,’xsqk.性别’ 4、 alter table xs_kc add constraint xs_kc_kc foreign key (课程号) references kc (课程号) 第八章、SQL Server 2000管理 1、SQL  Server  2000有几种身份验证方式?它们的区别是什么? 2、数据备份策略有哪些? 第八章、SQL Server 2000管理(答案) 1、 (1)、Windows身份验证模式:用户只能使用Windows身份验证连接SQL Server 2000; (2)、混合模式:用户既可以使用Windows身份验证连接SQL Server 2000,又可以使用SQL Server身份验证连接到SQL Server 2000。 2、(1)只备份数据库 (2)备份数据库和事务日志 (3)差异备份 (4)文件和文件组备份
本文档为【SQL Server 2000习题及答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_614050
暂无简介~
格式:doc
大小:51KB
软件:Word
页数:0
分类:工学
上传时间:2019-09-19
浏览量:30