SQL Server 数据库试题九及答案一、选择题 (每题 2 分,共 30 分 )1、下面不属于数据定义功能的SQL 语句是:()A.CREAT TABLEB.CREAT CURSORC.UPDA TED.ALTER TABLE2、 SQL 数据库中的视图与下列哪项是对应的()。
A. 关系模式B.存储模式C.子模式D.以上都不是3、下列选项中不是数据库复制类型的是()。
A. 快照复制B.差异复制C.事务复制D. 合并复制4、下列说法错误的是 : ()。
A. 一个基本表可以跨一个或多个存储文件B. 一个存储文件可以跨一个或多个基本表C.每个存储文件与外部存储器上一个物理文件对应D.每个基本表与外部存储器上一个物理文件对应5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。
A . EchoB .Message C. Warn D . MsgBox6、在 SQL Server 2000 中,索引的顺序和数据表的物理顺序相同的索引是()。
A. 聚集索引B.非聚集索引C.主键索引D. 唯一索引7. SQL Server 的字符型系统数据类型主要包括()。
A.Int 、 money、 charB. char、 varchar、 textC.datetime、 binary 、 int D. char 、 varchar、 int8、以下选项中哪一项不是访问数据库系统的接口()。
A.ODBCB.OLE DBC.APID.ADO9、在 SELECT 语句的 WHERE 子句的条件表达式中,可以匹配0 个到多个字符的通配符是()A.*B.%C.-D.?10、 SELECT 语句中与HAVING 子句同时使用的是()子句。
A.ORDER BYB.WHEREC.GROUP BYD.无需配合11~15 题使用如下数据:当前盘当前目录下有数据库db_stock, 其中有表stock 的内容是 :股票代码股票名称单价交易所600600 青岛啤酒7.48 上海600601 方正科技15.20 上海600602 广电电子10.40 上海600603 兴业房产12.76 上海600604 二纺机 9.96 上海600605 轻工机械14.59 上海000001 深发展 7.48 深圳000002 深万科 12.50 深圳11、有如下SQL 语句create view stock_view as select * from stock where 交易所 =”深圳”执行该语句后产生的视图包含的记录个数是()A.1B.2C.3D.412、有如下SQL 语句create view view_stock as select 股票名称as 名称,单价from stock执行该语句后产生的视图含有的字段名是()A. 股票、名称、单价B.名称、单价C 名称、单价、交易所D 股票名称、单价、交易所13、执行如下SQL 语句后select distinct 单价from stockwhere 单价 =( select min( 单价 ) from stock ) into dbfstock_x 表 stock_x 中的记录个数是()A.1B.2C.3D.414、求每个交易所的平均单价的SQL 语句是()A.SELECT( 交易所, avg(单价 )FROM stock GROUP BY 单价B. SELECT( 交易所, avg(单价 )FROM stock ORDER BY 单价C. SELECT( 交易所, avg(单价 )FROM stock ORDER BY 交易所D. SELECT( 交易所, avg(单价 )FROM stock GROUP BY 交易所15、在当前盘当前目录下删除表stock 的命令是()A.DROP stockB.DELETE TABLE stockC.DROP TABLE stock C.DELETE stock二、填空题 (每空 2 分,共 30 分 )1、 SQL Server 2000 支持 5 种类型的存储过程:系统存储过程、、临时存储过程、和扩展存储过程。
2、在 Microsoft SQL Server 系统中,数据库备份的类型包括:数据库备份、、和。
3、触发器有 3 种类型,即 INSERT 类型、和。
4、Transact- SQL 语言有 4 部分元素组成,分别是:、数据定义语言、和一些附加的语言元素。
5、事务的 4 个属性:原子性、一致性、和。
6、 ADO 的对象模型为层次结构,主要的ADO 对象有 3 个:、、和。
7、函数 datediff(year, ’ 1998-10-12’ , ’ 2005-1-17’ )的执行结果是;函数 str(1234.56,3,1) 的执行结果是。
三、简答题 (共 3 题, 20 分 )1、为什么要创建索引( 4 分)2、简述 INSERT 触发器的工作原理( 6 分)3、根据所给的商品库和教学库,按照下列所给的每条 SQL 查询语句写出相应的功能,或者按照下列所给的每种功能写出相应的SQL 查询语句。
(每小题 2 分,共 10 分)在名称为商品库的数据库中包含有商品表 1 和商品表 2,它们的定义分别为:商品表 1(商品代号char(8),分类名 char(8),单价 float, 数量 int)商品表 2(商品代号char(8),产地 char(6),品牌 char(6),)在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:学生 (学生号char(7),姓名 char(6), 性别 char(2), 出生日期 datetime,专业 char(10),年级 int)课程 (课程号char(4),课程名 char(10),课程学分 int选课 (学生号char(7),课程号 char(4),成绩 int)1. select distinct 产地from 商品表 22. select *from 学生where 学生号in (select 学生号from 选课group by 学生号having count(*)=1)3. select *from 学生where 学生号in (select 学生号from 选课group by 学生号having count(*)<=2) or not exists (select *from 选课where 学生 .学生号 =选课 .学生号)4.从商品库中查询出每类(即分类名相同)商品的最高单价。
5.从教学库中查询出至少选修了姓名为@m1 学生所选课程中一门课的全部学生。
四、设计题 (每题 4 分,共 20 分 )有一个“学生-课程”数据库,数据库中包括三个表:(1)“学生”表 Student 由学号( Sno)、姓名( Sname)、性别( Ssex)、年龄( Sage)、所在系( Sdept)五个属性组成,可记为:Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。
(2)“课程”表 Course 由课程号( Cno)、课程名( Cname)、先修课号( Cpno)、学分( Ccredit)四个属性组成,可记为:Course(Cno,Cname,Cpno,Ccredit) Cno 为关键字。
(3)“学生选课”表 SC 由学号( Sno)、课程号( Cno)、成绩( Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。
完成下列操作:1、建立一个“学生”表 Student,它由学号 Sno、姓名 Sname、性别 Ssex、年龄 Sage、所在系Sdept 五个属性组成,其中学号属性不能为空,并且其值是唯一的。
2、查考试成绩有不及格的学生的学号3、将学生95001 的年龄改为22 岁4、计算 1 号课程的学生平均成绩5、创建一存储过程 getDetailByName ,通过输入参数学生姓名(如“章山 "),筛选出该学生的基本信息 ,对不存在此学生姓名的输入值,必须作一检测,打印信息“不存在此学生”。
参考答案一、选择题 (每题 2 分,共 30 分 )1、 A2、C 3 、B 4 、D 5 、 D 6、 C 7、 B 8 、C 9 、A10、 C 11、B 12 、B 13 、 B 14 、D 15、 C二、填空题 (每空 2 分,共 30 分 )1、本地存储过程、远程存储过程2、事务日志备份、差异备份、文件和文件组备份3、 UPDATE 类型、 DELETE 类型4、数据控制语言(或DCL )、数据操作语言(或DML )5、隔离性、持久性6、 Connection Command 和 Recordset7、 7 ***三、简答题 (每题 5 分,共 20 分 )1、什么要创建索引?( 4 分)答:创建索引可以大大提高系统的性能。
第一,通过创建唯一性索引,可以保证每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是所以的最主要原因。
第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。
第四,在使用ORDERBY 和 GROUP BY 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。
2、简述 INSERT 触发器的工作原理( 6 分)答:当向表中插入数据时,INSERT 触发器触发执行。
当INSERT 触发器触发时,新的记录增加到触发器表中和inserted 表中。
该inserted 表是逻辑表,保存了所插入记录的拷贝,允许用户参考INSERT 语句中的数据。
触发器可以检查inserted 表,来确定该触发器的操作是否应该执行和如何执行。
在 inserted 表中的哪些记录,总是触发表中一行或多行记录的冗余。
3、根据商品库和教学库,按照下列所给的每条SQL 查询语句写出相应的功能,或者按照下列所给的每种功能写出相应的SQL 查询语句。
(每小题 2 分,共 10 分)1.从商品库中查询出所有商品的不同产地。
2.从教学库中查询出只选修了一门课程的全部学生。
3.从教学库中查询出最多选修了2 门课程(含未选任何课程)的全部学生。
4.select 分类名 ,max( 单价 ) as 最高单价from 商品表 1group by 分类名5.select distinct 学生 .*from 学生 ,选课where 学生 .学生号 =选课 .学生号 and 课程号 =any(select 课程号from 学生 ,选课where 学生 .学生号 =选课 .学生号and 姓名 =@m1)四、设计题 (每题 4 分,共 20 分 )1、建立一个“学生”表 Student,它由学号 Sno、姓名 Sname、性别 Ssex、年龄 Sage、所在系Sdept 五个属性组成,其中学号属性不能为空,并且其值是唯一的。