一、填空题(每空1分,合计28分)
1.数据模型不仅反映了事物本身的数据,而且反映了数据之间的关系
2.所谓主键是指数据表中的一列或几列的组合,其值唯一标识每一条记录,主键的
值不允许重复。在一个表中可设一个主键。
3.SQL Server2000的4个系统数据库是master 、model、tempdb 和
msdb数据库。
4.Transact-SQL语言中用update语句来修改数据库。
5.SQL Server每个表做多可以有个自动编号字段,个timestamp字段,个
Sql_variant字段。
6.创建索引加快了数据的速度,但同时减慢了速度。增加字段的sql语句
7.在SQL Server中可以在、子句中定义表的联接。
8.视图中的数据存储在中,SQL Server 在不同的表上建立视
图。
9.使用关键字可以合并多个查询结果集数据,合并后的结果集中的列名取自查询
结果集的列名。
10.如果希望查询时返回的结果集中不出现重复行,可以在SELECT字句中使用关键字
distinct;如果希望在分组后将不满足where子句条件的组也列出来,可以在
group by字句中使用关键字having 。
11.用Transact-SQL声明一个货币型局部变量M的语句为:declare{@M[as]货币型}
12.对该变量赋值500的语句为:
13.系统存储过程一般用前缀sp-标识,它存放在SQL Server的master 数据库中。
14.SQL Server200能配置的服务器登录认证模式是:和
15.在查询分析器中,系统默认是以形式显示结果,查询分析器中保存的文件默
认扩展名为
16.SQL Server 2000 是一个功能强大的关系型数据库管理系统。
17.是指对各种数据的收集、组织、整理、存储、加工、查询和传播等一系列
活动的总和。
18.SQL Server数据库文件有3类,其中主数据文件的后缀为mdf
19.以物质介质为载体,传递和反映世界各种事物存在方式和运动状态的是
。
20.是指一个单元的工作,该单元的工作要么全部完成,要么全部
不完成。
21.SQL语言主要由 数据定义语言 、数据操纵语
言和数据控制语言(DCL)组成。
22.关系数据模型的数据结构是一张二维表,关系中的列成为属性,行称为
元组。
23.在T-SQL语言中,有算术运算、赋值运算、逻辑运算、位运算、字符
串连接运算、比较运算和一元运算。
8
24.若视图所关联的基本表中添加了新字段,则才能查询新字
段。
25.在SQL Server中一个表的存储是由数据页和索引页两
个部分组成的。
26.触发器定义在一个表中,当在表中执行插入、更新、删除数据
操作时被触发自动执行。
27.是实现多用户、多事务等并发处理方式的一种手段。
28.用户访问SQL Server数据库时,必须经过Windows模式验证和
混合模式验证两个安全验证阶段。
二、单项选择题(每题2分,合计24分)
1、以下哪一项不是数据库的模型。( C )
A.网状型
B.关系型
C.实体联系性
D.层次性
2、数据库系统的核心是(B)
A.数据库
B.数据库管理系统
C.操作系统
D.文件
3、关于SQL Server日志文件的叙述,正确的是(D )
A.每个数据库必须至少有一个日志文件
B.一个数据库可以没有日志文件
C.每个数据库只能有一个日志文件
D.每个数据库可以有多个日志文件,其中有一个是主日志文件
4、不是SQL Server数据库的组成文件( A )
A. 索引文件
B.日志文件
C.主数据文件
D.次数据文件
5、某个字段期望做多输入80个字符,最少输入1个字符,应设置该字段数据类型为
( D )
A.char(8)NOT NULL
B. varchar(80)NULL
C. char(80)NOT NULL
D. varchar(80)NOT NULL
6、以下关于索引的说法正确的是(A)
A.删除聚集索引,所有该表的非聚集索引将重建
B. 删除聚集索引,所有该表的非聚集索引将同时被删除
C. 重建聚集索引,所有该表的非聚集索引仍然存在,内部也没有变化
D. 一个表上没有聚集索引,不可以先有非聚集索引
7、以下聚合函数中,计算中不忽略空值的(D)
A.SUM()
B.COUNT()
C.AVG()
D.COUNT(*)
8、以下叙述正确的是( C )
A.SELECT可以简化为SELE C.指定列的别名是不一定用用引号将别名字符串
括起来B.查询时可以对text数据类型的列排序D.在SELECT语句中可以直接使用
“%”求百分比
9、SQL Server2000中,如果没有特别设置,输入字符型数据Angela的正确格式为(
A)
A.’Angela’
B. [Angela]
C.“Angela”
D. {Angela}
10、关于存储过程的说法不正确的是(A )
A.存储过程是存放在服务器上的预先编译好的单条或多条SQL语句
B.存储过程能够传递或者接受参数
C.可以通过存储过程的名称来调用执行存储
过程
D.存储过程在每次执行时都要进行语法检查和编译
11、触发器是一个数据库对象,触发器被定义在特定的()上
A.字段
B.记录
C.表
D.数据库
12、在SQL Server2000中,不能创建()
A.数据库角
B.服务器角
C.自定义函数
D.自定义数据类型1.SQL Server2000 中的编程语言就是()。
A.T-SQL
B.S-SQL
C.Q-SQL
D.R-SQL
2. 数据库的容量()。
A.只能指定为固定大小
B.最小为10MB
C.最大为100MB
D.可以设置为自动增长
3. 反映现实世界实体及实体间联系的信息模型是()。
A.关系模型B.层次模型C.E-R模型D.网状模型4. 查询毕业学校名称与“清华”有关的记录应该用( A )。
A.select *from 学习经历where 毕业学校like ‘*清华*’
B.select *from 学习经历where 毕业学校=‘%清华%’
C.select *from 学习经历where 毕业学校like ‘?清华?’
D.select *from 学习经历where 毕业学校like ‘%清华%’
5. 以那个符号开头的变量是全局变量(B)
A. @
B.@@
C. @*
D. @$
6. 执行哪一个系统存储过程,可以查看视图的定义信息()。
A. sp_helptext
B.sp_depends
C. sp_help
D. sp_rename
7. 关于索引说法错误的是()。
A.索引可以加快数据的检索速度,但降低了数据的维护速度。’
B.非聚集索引应该在聚集索引被创建之前创建。
C.在默认情况下所创建的索引是非聚集索引。
D.建立主键约束是会自动建立唯一索引。
8. 触发器可引用视图或临时表,并产生两个特殊的表是()。A.delete、insert B.deleted、inserted
C.view、table D.view1、table1
9. 每次执行使用游标的取数、修改或删除操作的语句时,能够对表中的()条记录进行操作。
A.1条B.2条C.无数条D.表中记录总数
10. 关于SQL Server2000角的叙述中,以下()不正确
A.对于任何用户,都可以随时让多个数据库角处于活动状态。
B.如果所有用户、组和角都在当前数据库中,则SQL Server 角可以包含Windows组和用户,以及SQL Server2000用户和其它角。
C.存在于一个数据库中,不能跨多个数据库。
D.在同一数据库中,一个用户只属于一个角。
三、应用题(共2题,每题12分)
1.数据库设计题:假设有“教师”、“学生”、“课程”3个实体。一门课程只能有一个教师
任课,一个教师可以上多门课程;一个学生可以选修多门课程,一门课程可以由多个学生来选修。已知教师的属性有工号、姓名、职称,课程的属性有课程号、课程名、学时数,学生的属性有学号、姓
名、性别、年龄。根据上述描述,画出E-R图,将E-R图转化为关系模型。
2.按下列要求用create database语句创建“运动商品销售数据库”,并为数据库创建“商
品信息表”和“商品销售统计表”
表1 “运动商品销售数据库”的数据文件和事务日志文件
文件类型文件组逻辑名称操作系统文件名初始尺寸最大尺寸增长尺寸
数据文件PRIMARY Pri_运动商品销售D:\DataFile\Pri_运动商品销售.mdf2MB10MB1MB
事务日志文件LF_运动商品销售D:\LogFile\LF_运动商品销售.ldf2MB10MB1MB 表2 “商品信息表”的数据结构
4列名数据类型长度/精度是否允许为空值描述商品标识char3否3位数字
商品名称varchar20是中文或英文
产地varchar50是中文地名
进货价decimal18,2是浮点数
表3 “商品销售记录表”的数据结构
列名数据类型长度/精度是否允许为空值描述商品标识char3否3位数字
销售数量int是整数
销售日期datetime8是日期
销售价格decimal18,2是浮点数
四、编写SQL查询语句:下面给出了AAA数据库中表结构,根据每小题要求写出
SQL查询语句(每小题3分,共36分) 。AAA的数据库,它包括:
学生(学号char(8),姓名varchar(8),性别char(2),出生日期datetime,总分int,籍贯char(4))
课程(课程号char(2),课程名称varchar(20),课程类型char(4),学时smallint,学分tinyint)
选修(成绩编码int,学号char(8),课程号varchar(2),成绩numeric(4,1))
教师(工号char(6),姓名varchar(8),性别char(2),出生日期datetime,工作日期
datetime,职称char(6),基本工资int) ……
1、为“学生”表列“总分”之前增加一个说明列,说明列的列名:高考投档成绩
2、查询“学生”表中“籍贯”
3、查询“学生”表中男女生的平均总分
4、查询“学生”表中来自安徽的学生
5、查询“学生”的信息,并按照总分的降序输出
6、查询“课程”表中前5条记录,并存储到一个新表“course”中
7、查询“”表中成绩在85分以上的学生学号、姓名、性别和课程号、成绩信息
8、查询所有男教师和所有男生,并标示身份
9、查询“学生”中各省的学生总数
10、查询“学生”表中“安徽”籍的学生学号、姓名、籍贯,并统计总人数
11、查询“学生”表中出生日期在1990-1-1到1991-1-1之间的学生
12、用自连接查询年龄相同的学生
五程序题:根据下面所给的AAA数据库,按照第1小题写出执行结果,按照第
2、3、4小题写出其实现功能。5、6写出查询语句(每小题4分,共24分)
假设使用名称为AAA的数据库,它包括Students(学号char(8),姓名varchar(8),性别char(2)年龄int,专业varchar(20),入学日期DateTime)和Score(学号char(8),课程号varchar(10),成绩numeric(5,2))两张表。
1.SELECT LEN('I am as tudent') ,DATE('2011-1-8')
2.declare @a numeric(5,2)
set @ a=(select avg(成绩)from score)
select * from score where 成绩>=@a
3.create procedure xxkl as
begin
select * from students x,score y where x.学号=Y.学号
end
4.declare@ cn umeric(5,2)
declare @ cli nt,@c2 int,@c3 int,@c4i nt
set @c1=0;set @c2=0;set @c3=0;set @c4=0
declare xxx cursor
for select 成绩from score
op e n x x x
fetch xxx into @c
while @@fetch_status=0
begin
if(@c>=90) set @cl=@cl+1;
else if(@c>=70)set @c2=@c2+1;
else if (@c>=60)set@c3=@c3+1;
else set @c4=@c4+1
fetch f rom xxx into @c
end
close xxx
deallocate xxx
print '优秀生人数:'+str(@c1,5);
print '良好生人数:'+ str(@c2,5);
print '及格生人数:'+str(@c3,5);
print '不及格人数:'+str(@c4,5)
5、查询各专业的总人数
6、查询各专业女生和男生的课程号为’ds001’的平均成绩
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论