资源描述
(装订线内不准做答)
线
订
装
SQL Server数据库技术 考试试卷(C)
题号
一
二
三
四
五
六
七
八
九
十
总分
核分教师
分值
10
10
20
10
50
100
得分
评卷教师
C
考试科目
SQL Server数据库技术
考试类型
高职期末考试 『闭卷』
学年学期
适用专业
年 级
教研室主任
一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题1分,总计10分)
1.下列四项中,不属于数据库特点的是( )。
A.数据共享 B.数据完整性
C.数据冗余很高 D.数据独立性高
2.下列四项中,不属于SQL2000实用程序的是( )。
A.企业管理器 B.查询分析器
C.服务管理器 D.媒体播放器
3.SQL Server安装程序创建4个系统数据库,下列哪个不是( )系统数据库。
A.master B.model
C.pub D.msdb
4.( )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DB
C.DBS D.DBA
5. 在SQL中,建立表用的命令是 ( )。
A.CREATE SCHEMA B.CREATE TABLE
C.CREATE VIEW D.CREATE INDEX
6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( )。
A.包括15岁和35岁
B.不包括15岁和35岁
C.包括15岁但不包括35岁
D.包括35岁但不包括15岁
7.下列四项中,不正确的提法是( )。
A.SQL语言是关系数据库的国际标准语言
B.SQL语言具有数据定义、查询、操纵和控制功能
C.SQL语言可以自动实现关系数据库的规范化
D.SQL语言称为结构查询语言
8.在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。
A. sp_dbhelp B. sp_db
C. sp_help D. sp_helpdb
9.SQL语言中,删除表中数据的命令是( )。
A. DELETE B. DROP
C. CLEAR D. REMOVE
10.SQL的视图是从( )中导出的。
A. 基本表 B. 视图
C. 基本表或视图 D. 数据库
二、判断题:(对的打√,错的打×,填在题末的括号中)(每小题1分,共10分)
11.'在那遥远的地方' 是SQL中的字符串常量 ( )
12.'11.9' 是SQL中的实型常量 ( )
13.select 16%4, 的执行结果是: 4 ( )
14.2005.11.09 是SQL中的日期型常量 ( )
15.¥2005.89 是SQL中的货币型常量 ( )
16.select 25/2 的执行结果是: 12.5 ( )
17.'岳飞'>'文天祥' 比较运算的结果为真 ( )
18.一个表可以创建多个主键 ( )
19.创建唯一性索引的列可以有一些重复的值 ( )
20.固定数据库角色:db_datarader 的成员能修改本数据库内表中的数据 ( )
三、填空题(每空1分,共20分)
21.数据库系统具有数据的_________、_________和内模式三级模式结构。
22.SQL Server 2005局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
23.语句 select ascii('D'), char(67) 的执行结果是:_________和_________。
24.语句 select lower('Beautiful') , rtrim('我心中的太阳 ') 的执行结果是: ____________和___________。
25.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
26.关系运算主要有________、________和连接。
27.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性。
28.在SQL Server 2005中,数据库对象包括______、______、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。
29.语句 select day('2004-4-6'), len('我们快放假了.') 的执行结果是:_________和_________。
30.语句 select round(13.4321,2), round(13.4567,3)的执行结果是:_________和_________。
四、简述题(每小题5分,共10分)
31.在SQL Server 2005中,使用视图的好处是什么?
32.在SQL Server 2005中,用户访问表/视图、列的权限是什么?
Ⅱ操作题部分
(注意:所有操作画面都应保存在以自己姓名命名的WORD文档中,代码的保存请按题目的编号来命名,代码无需记录在试卷上。最后所有的代码和操作画面文件应以一个压缩文件包的形式递交,压缩包以自己的2位学号+姓名的形式命名,如“01王明”。考试期间,一定要注意文件的保存。)
五、程序设计题(共50分)
现有关系数据库如下:
数据库名:我班同学数据库
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
宿舍表(宿舍号 char(6),宿舍电话)
用SQL语言实现下列功能的sql语句代码:
33.创建数据库[我班同学数据库]代码(2分)。
34.创建数据表[宿舍表]代码(3分);
宿舍表(宿舍号 char(6),宿舍电话)
要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码
35.创建数据表[同学表]代码(6分);
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)
36.将下列宿舍信息添加到宿舍表的代码(8分)
宿舍号 宿舍电话
101 6331157
102 6331777
修改 宿舍号为101的 宿舍电话:6331158
删除 宿舍号为102的 宿舍信息
37.创建视图[同学表视图]代码(5分);
同学表视图(学号, 姓名, 性别, 年龄, 民族, 身份证号, 宿舍号, 宿舍电话)
38.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。(4分)
39.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。(5分)
40.创建带参数的存储过程[某宿舍同学]:姓名, 性别, 宿舍电话
执行此过程,查询'101'宿舍情况 (8分)
41.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。(9分)
《SQL Server数据库技术》(C卷)评分标准及参考答案
一、
1
2
3
4
5
6
7
8
9
10
C
D
C
A
B
A
C
D
A
C
二、
1
2
3
4
5
6
7
8
9
10
Y
N
N
N
N
N
Y
N
N
N
三、
no
答案
分
1.
外模式、模式
2
2.
@、@@
2
3.
68、C
2
4.
beautiful、我心中的太阳
2
5.
水平、垂直
2
6.
选择、投影
2
7.
实体、域
2
8.
表、视图
2
9.
6、7
2
10
13.4300、13.4570
2
四、
no
答案要点
分
1.
(1) 为用户集中需要的数据,简化了数据的用户操作;
(2) 对用户隐藏了数据库设计的复杂性;
(3) 简化用户权限的管理
(4) 组织数据导出到其它应用程序;
5
2.
1.数据表/视图(select insert update delete)
2.列(字段)的访问(select update)
5
五、
no
参考答案
分
1.
create database [我班同学数据库]
go
use [我班同学数据库]
go
2
2.
create table 宿舍表
([宿舍号] char(6) primary key,
[宿舍电话] char(7) check([宿舍电话] like '633[0-9][0-9][0-9][0-9]'))
3
3.
create table 同学表
(学号 char(6) primary key,
姓名 nchar(4) not null,
性别 nchar(1) check(性别 in ('男', '女')),
年龄 int ,
民族 nchar(8) default '汉族' not null,
身份证号 char(18) unique,
宿舍号 char(6) references 宿舍表(宿舍号)
)
6
4.
insert 宿舍表 values('101', '6331157')
insert 宿舍表 values('102', '6331777')
update 宿舍表 set 宿舍电话='6331158' where 宿舍号='101'
delete 宿舍表 where 宿舍号='102'
8
5.
create view [同学表视图] as
select 学号, 姓名, 性别, 年龄, 民族, 身份证号, 同学表.宿舍号, 宿舍电话
from 同学表,宿舍表
where 同学表.宿舍号=宿舍表.宿舍号
5
6.
select 姓名, 性别, 宿舍电话
from 同学表视图
where 姓名 like '张%' and 性别='女'
4
7.
select 最大年龄 = max(年龄), 最小年龄 = min(年龄), 平均年龄 = avg(年龄)
from 同学表
where 性别='女'
5
8.
create procedure [某宿舍同学] @宿舍号 varchar(6)
as
select 姓名, 性别, 宿舍电话
from 同学表视图
where 宿舍号 = @宿舍号
go
execute [某宿舍同学] '101'
8
9.
exec sp_addlogin 'U班主任', '888', '我班同学数据库'
exec sp_grantdbaccess 'U班主任', 'U读者'
exec sp_addrolemember 'db_datareader', 'U读者'
9
第6页(共5页)
展开阅读全文