SQL SERVER数据库试题(1卷)
一、单项选择题(每小题1分,共10分)
1.下列四项中,不属于数据库特点的是( C )。
A.数据共享
B.数据完整性
C.数据冗余很高
D.数据独立性高
2.下列四项中,不属于SQL2000实用程序的是( D )。
A.企业管理器
B.查询分析器
C.服务管理器
D.媒体播放器
3.SQL Server安装程序创建4个系统数据库,下列哪个不是( C )系统数据库。
A.master
B.model
C.pub
D.msdb
4.( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DB
C.DBS D.DBA
5. 在SQL中,建立表用的命令是 ( B )。
A.CREATE SCHEMA
B.CREATE TABLE
C.CREATE VIEW
D.CREATE INDEX
6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( A )。
A.包括15岁和35岁
B.不包括15岁和35岁
C.包括15岁但不包括35岁
D.包括35岁但不包括15岁
7.下列四项中,不正确的提法是( C )。
A.SQL语言是关系数据库的国际标准语言
B.SQL语言具有数据定义、查询、操纵和控制功能
C.SQL语言可以自动实现关系数据库的规范化
D.SQL语言称为结构查询语言
8.在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。
A. sp_dbhelp
B. sp_db
C. sp_help
D. sp_helpdb
9.SQL语言中,删除表中数据的命令是( A )。
A. DELETE
B. DROP
C. CLEAR
D. REMOVE
10.SQL的视图是从( C )中导出的。
A. 基本表
B. 视图
C. 基本表或视图
D. 数据库
二、判断题(每空1分,共10分)
1.'在那遥远的地方' 是SQL中的字符串常量吗?Y
2.'11.9' 是SQL中的实型常量吗?N
3.select 16%4, 的执行结果是: 4 吗?N
4.200
5.11.09 是SQL中的日期型常量吗?N
5.¥2005.89 是SQL中的货币型常量吗?N
6.select 25/2 的执行结果是: 12.5 吗?N
7.'岳飞'>'文天祥' 比较运算的结果为真吗?Y
8.一个表可以创建多个主键吗?N
9.创建唯一性索引的列可以有一些重复的值?N
10.固定数据库角色:db_datarader 的成员能修改本数据库内表中的数据吗?N
三、填空题(每空1分,共20分)
1.数据库系统具有数据的_外模式_、_模式_和内模式三级模式结构。
2.SQL Server 2008局部变量名字必须以____@___ 开头,而全局变量名字必须以 _@@__开头。
3.语句 select ascii('D'), char(67) 的执行结果是:__68___和___C____。
4.语句select lower('Beautiful') , rtrim('我心中的太阳') 的执行结果是:
__beautiful__和__我心中的太阳__。
5.选择运算是根据某些条件对关系做_ 水平_分割;投影是根据某些条件对关系做_垂直_分割。
6.关系运算主要有__选择______、__投影____和连接。
7.完整性约束包括_ 实体_____完整性、__域____完整性、参照完整性和用户定义完整性。
8.在SQL Server 2008中,数据库对象包括__表____、_ 视图__、触发器、过程、列、索引、
约束、规则、默认和用户自定义的数据类型等。
9.语句 select day('2004-4-6'), len('我们快放假了.') 的执行结果是:___6__和__7__。
10.语句select round(13.4321,2), round(13.4567,3)的执行结果是:__13.4300__和
__13.4570__。
四、简答题(每小题5分,共10分)
1.在SQL Server 2008中,使用视图的好处是什么?
(1) 为用户集中需要的数据,简化了数据的用户操作;
(2) 对用户隐藏了数据库设计的复杂性;
(3) 简化用户权限的管理
(4) 组织数据导出到其它应用程序;
2.在SQL Server 2008中,用户访问表/视图、列的权限是什么?
1.数据表/视图(select insert update delete)
2.列(字段)的访问(select update)
五、设计题(共50分)
现有关系数据库如下:
数据库名:我班同学数据库
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
宿舍表(宿舍号 char(6),宿舍电话)
用SQL语言实现下列功能的sql语句代码:
1.创建数据库[我班同学数据库]代码(2分)。
create database [我班同学数据库]
go
use [我班同学数据库]
go
2.创建数据表[宿舍表]代码(3分);
宿舍表(宿舍号 char(6),宿舍电话)
要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码。
create table 宿舍表
([宿舍号] char(6) primary key,
[宿舍电话] char(7) check([宿舍电话] like '633[0-9][0-9][0-9][0-9]'))
3.创建数据表[同学表]代码(6分);
同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)
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 宿舍表(宿舍号)
4.将下列宿舍信息添加到宿舍表的代码(8分)
宿舍号宿舍电话
101 6331157
102 6331777
修改宿舍号为101的宿舍电话:6331158
删除宿舍号为102的宿舍信息
insert 宿舍表 values('101', '6331157')
insert 宿舍表 values('102', '6331777')
update 宿舍表 set 宿舍电话='6331158' where 宿舍号='101'
delete 宿舍表 where 宿舍号='102'
5.创建视图[同学表视图]代码(5分);
同学表视图(学号, 姓名, 性别, 年龄, 民族, 身份证号, 宿舍号, 宿舍电话) create view [同学表视图] as
select 学号, 姓名, 性别, 年龄, 民族, 身份证号, 同学表.宿舍号, 宿舍电话
from 同学表,宿舍表
where 同学表.宿舍号=宿舍表.宿舍号
6.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。(4分)
select 姓名, 性别, 宿舍电话
from 同学表视图
where 姓名 like '张%' and 性别='女'
7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。(5分)
select 最大年龄 = max(年龄), 最小年龄 = min(年龄), 平均年龄 = avg(年龄) from 同学表
where 性别='女'
8.创建带参数的存储过程[某宿舍同学]:姓名, 性别, 宿舍电话
执行此过程,查询'101'宿舍情况 (8分)
create procedure [某宿舍同学] @宿舍号 varchar(6)
as
select 姓名, 性别, 宿舍电话
from 同学表视图
where 宿舍号 = @宿舍号
go
execute [某宿舍同学] '101'
9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U 读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。(9分)
exec sp_addlogin 'U班主任', '888', '我班同学数据库'
exec sp_grantdbaccess 'U班主任', 'U读者'
exec sp_addrolemember 'db_datareader', 'U读者'
一、
SQL SERVER数据库试题(2卷)
一、单项选择题(每小题1分,共10分)
1. ( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或
应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DB
C.DBS D.DBA
2. 下列四项中,不属于SQL2000实用程序的是( D )。
A.企业管理器
B.查询分析器
C.服务管理器
D.媒体播放器
3. SQL Server安装程序创建4个系统数据库,下列哪个不是( C )系统数据库。
A. master
B. model
C. pub
D. msdb
4. 下列哪个不是sql 数据库文件的后缀。( C )
A..mdf B..ldf
C..tif D..ndf
5. 数据定义语言的缩写词为 ( A )。
A.DDL
B.DCL
C.DML
D.DBL
6. SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( A )。
A.包括15岁和35岁
B.不包括15岁和35岁
C.包括15岁但不包括35岁
D.包括35岁但不包括15岁
7. SQL的视图是从( C )中导出的。
A. 基本表
B. 视图
C. 基本表或视图
D. 数据库
8. 在SQL语言中,建立存储过程的命令是( A )
A、CREATE PROCEDURE
B、CREATE RULE
C、CREATE DURE
D、CREATE FILE
9. SQL语言中,删除表中数据的命令是( A )。
A. DELETE
B. DROP
C. CLEAR
D. REMOVE
10. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。
A. sp_dbhelp
B. sp_db
C. sp_help
D. sp_helpdb
二、判断题(每空1分,共15分)
1. '在那遥远的地方' 是SQL中的字符串常量吗?Y
2. 11.9 是SQL中的实型常量吗?Y
3. select 16%4, 的执行结果是: 0 吗?Y
4. 200
5.11.09 是SQL中的日期型常量吗?N
5. ¥2005.89 是SQL中的货币型常量吗?N
6. select 25/2 的执行结果是: 12.5 吗?N
7. '李逵'>'李鬼' 比较运算的结果为真吗?Y
8. 一个表可以创建多个主键吗?N
9. 创建唯一性索引的列可以有一些重复的值?N
10. smallint 是SQL的数据类型吗?Y
11. SQL Server不允许字段名为汉字?N
12. 职称 in ('教授', '副教授'')与职称 = '教授' or 职称 = '副教授' 等价吗?Y
13. 如果规则当前绑定到某列或用户定义的数据类型,不能解除绑定能直接删除规则?N
14. 在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统自动为该行标
识列赋值吗?Y
15. 固定数据库角色:db_datarader 的成员修改本数据库内表中的数据吗?N
三、填空题(每空1分,共20分)
7. T-SQL 语言中,有__算数___运算、字符串连接运算、比较运算和___逻辑____运算。
9. 语句 select floor(17.4), floor(-214.2), round(13.4382,2), round(-18.4562,3)的
执行结果是: __17__、_-215___、_13.4400__和__-18.4560___。
四、简答题(每小题5分,共10分)
1. 简述SQL Server 2008的安全性管理机制(6级,涉及登录账号、用户、角色以及权限分
配)。(6分)
(1)计算机的连接
(2)SQL Server登录(账户、固定服务器角色)
(3)库的访问(用户/角色:固定/自定义角色)
(4)表/视图的权限(select insert update delete)
(5)存储过程、内嵌表值函数的权限(execute select)
(6)表(视图)中列的权限(select update)
2. 在SQL Server 2008中,使用视图的好处是什么?(4分)
(1) 为用户集中需要的数据,简化了数据的用户操作;
(2) 对用户隐藏了数据库设计的复杂性;
(3) 简化用户权限的管理
(4) 组织数据导出到其它应用程序
五、设计题(共45分)
现有关系数据库如下:
数据库名:学生成绩数据库
学生信息表(学号 char(6),姓名,性别,民族,身份证号)
课程信息表(课号 char(6),名称)
成绩信息表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码。
1. 创建数据库[学生成绩数据库]代码(2分)。
create database [学生成绩数据库]
go
use [学生成绩数据库]
go
2. 创建数据表[课程信息表]代码;(2分)
课程信息表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称)
create table 课程信息表
([课号] char(6) primary key,
[名称] nchar(20) not null)
3. 创建数据表[学生信息表]代码;(4分)
学生信息表(学号 char(6),姓名,性别,民族,身份证号)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别) create table 学生信息表
([学号] char(6) primary key,
[姓名] nchar(4) not null,
[性别] nchar(1) check([性别] in ('男', '女')),
[民族] nchar(8) default '汉族' not null,
[身份证号] char(18) unique
)
4. 创建数据表[成绩信息表];(5分)
成绩信息表(ID,学号,课号,分数)
要求使用:外键(学号,课号)、检查(分数),自动编号(ID)
create table 成绩信息表
(ID int identity(1, 1),
[学号] char(6) references 学生信息表(学号),
[课号] char(6) references 课程信息表(课号),
[分数] integer check([分数] between 0 and 100)
)
5. 将下列课程信息添加到课程信息表的代码(8分)
课号名称
100101 西班牙语
100102 大学英语
修改课号为100102的课程名称:专业英语
删除课号为100101的课程信息
insert 课程信息表 values('100101', '西班牙语')
insert 课程信息表 values('100102', '大学英语')
update 课程信息表 set 名称='专业英语' where 课号='100102'
delete 课程信息表 where 课号='100101'
6. 创建视图[成绩信息表视图]的代码;(5分)
成绩信息表视图(学号,姓名,课号,课程名称,分数)
create view [成绩信息表视图]
as
select 成绩信息表.学号,姓名,成绩信息表.课号,名称课程名称,分数
from 成绩信息表,学生信息表,课程信息表
where 成绩信息表.学号=学生信息表.学号 and 成绩信息表.课号=课程信息表.课号
7. 从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。(2分
select 姓名, 性别, 民族
from 学生信息表
where 姓名 like '刘%' and 性别='女'
8. 查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。(4分)
select 学号, 姓名
from 学生信息表
where 学号 in
(select distinct 学号 from 成绩信息表 where 分数<60)
9. 创建带参数的存储过程[某门课程高低均分]、执行该过程的代码(7分)
存储过程功能:查询某门课程的最高分、最低分、平均分;
执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;
create procedure [某门课程高低均分]
@课程名 nchar(16) as
select 课程名称, 最高分=max(分数), 最低分=min(分数), 平均分=avg(分数)
from 成绩信息表视图
where 课程名称 = @课程名
group by 课程名称
go
execute [某门课程高低均分] '专业英语'
10 设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者,
权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。
请写出账户、权限设置的T_SQL脚本。(6分)
exec sp_addlogin 'U院长', '888', '学生成绩数据库'
exec sp_grantdbaccess 'U院长', 'U读者'
exec sp_addrolemember 'db_datareader', 'U读者'
一、
SQL SERVER数据库试题(3卷)
一、单项选择题(每小题1分,共10分)
1.下列四项中,不属于数据库特点的是( C )。
A.数据共享 B.数据完整性
C. 数据冗余很高
D.数据独立性高
2. 目前( A )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商
用数据库系统。
A.关系 B.面向对象 C.分布
3. 数据库设计中的概念结构设计的主要工具是( B )。
A.数据模型 B.E—R模型 C.新奥尔良模型 D.概念模型
4. ( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或
应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DB C.DBS D.DBA
5. 在SQL中,建立视图用的命令是 ( C )。
A.CREATE SCHEMA
B.CREATE TABLE
C.CREATE VIEW
D.CREATE INDEX
6. SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且( A )。
A.包括20岁和30岁
B.不包括20岁和30岁
C.包括20岁但不包括30岁
D.包括30岁但不包括20岁
8. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。
A. sp_dbhelp
B. sp_db
C. sp_help
D. sp_helpdb
9. SQL语言中,删除一个表的命令是( B )。
A. DELETE
B. DROP
C. CLEAR
D. REMOVE
10. SQL的视图是从( C )中导出的。
A.基本表 B. 视图 C. 基本表或视图 D. 数据库
二、判断题(每空1分,共10分)
1. "在那遥远的地方" 是SQL中的字符串常量吗?N
2. "11.9" 是SQL中的实型常量吗? N
3. 语句 select 16%4, 的执行结果是: 0 吗?Y
4. "200
5.11.09" 是SQL中的日期型常量吗? N
5. ¥2005.89 是SQL中的货币型常量吗?N
6. 语句 select 15/2 的执行结果是:
7.5 吗?N
7. '李白'>'杜甫' 比较运算的结果为真吗?Y
8. 在事务中包含create database语句吗?N
9. 创建唯一性索引的列可以有一些重复的值?N
10.固定数据库角色:db_datawriter 的成员删除本数据库内任何表中的数据吗?Y
三、填空题(每空1分,共20分)
1. 数据库系统具有数据的__外模式___、__模式__和__内模式__三级模式结构。
3. 语句 select ascii('C'), char(68), len(' 你是BigTiger ') 的执行结果是:
___67___、___D___和___12____。
5. 关系运算主要有__选择__、__投影__、__连接__。
7. 索引的类型主要有聚簇索引和_非聚簇索引。
8. 在SQL Server 2008中,数据库对象包括数据表、_视图___、__存储过程_、触发器、规
则、默认和用户自定义的数据类型等。
四、简述题(每小题5分,共10分)
1. 简述使用游标的步骤。
(1) 声明游标:declare 游标名 cursor for select语句;
(2) 打开游标:open 游标名;
(3) 处理数据: fetch delete update
(4) 关闭游标:close 游标名;
(5) 释放游标:deallocate 游标名;
五、设计题(共50分)
现有关系数据库如下:
数据库名:学生成绩数据库
学生表(学号 char(6),姓名,性别,民族,身份证号)
课程表(课号 char(6),名称)
成绩表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码:
1. 创建数据库[学生成绩数据库]代码(2分);
create database [学生成绩数据库]
go
use [学生成绩数据库]
go
2. 创建[课程表]代码(2分);
课程表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称)
create table 学生表
([学号] char(6) primary key,
[姓名] nchar(4) not null,
[性别] nchar(1) check([性别] in ('男', '女')),
[民族] nchar(8) default '汉族' not null,
[身份证号] char(18) unique
)
3. 创建[学生表]代码(6分);
学生表(学号 char(6),姓名,性别,民族,身份证号)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别) create table 课程表
([课号] char(6) primary key,
[名称] char(40) not null
)
4. 创建[成绩表]代码(4分);
成绩表(ID,学号,课号,分数)
要求使用:主键(课号)、外键(成绩表.学号,成绩表.课号)、检查(分数),自动编号(ID) create table 成绩表
(ID integer IDENTITY(1, 1),
[学号] char(6) references 学生表(学号),
[课号] char(6) references 课程表(课号),
[分数] integer check([分数] between 0 and 100)
)
5. 将下列课程信息添加到课程表的代码(8分)
课号课程名称
100001 大学语文
100002 大学英语
100003 西班牙语
修改课号为100002的课程名称:实用英语
删除课号为100003的课程信息
insert 课程表 values('100001', '大学语文')
insert 课程表 values('100002', '大学英语')
insert 课程表 values('100003', '西班牙语')
update课程表 set 名称='实用英语' where 课号='100002'
delete课程表 where 课号='100003'
6. 写出创建:成绩表视图(学号,姓名,课号,课程名称,分数)的代码;(4分)
create view [成绩表视图] as
select 成绩表.学号,姓名,成绩表.课号,名称课程名称,分数
from 成绩表,学生表,课程表
where 成绩表.学号=学生表.学号
and 成绩表.课号=课程表.课号
create view [成绩表视图] as
select 成绩表.学号,姓名,成绩表.课号,名称课程名称,分数
from 成绩表 join 学生表 on 成绩表.学号=学生表.学号
join 课程表 on 成绩表.课号=课程表.课号
7. 写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)
检索:所有修实用英语这门学生的成绩;
create function [某门课程成绩](@课程名 varchar(40))
returns table as
return (select 学号,姓名,课程名称,分数 from 成绩表视图
where 课程名称=@课程名)
create function [某门课程成绩](@课程名 varchar(40))
returns table as
return (select * from 成绩表视图
where 课程名称=@课程名)
select * from [某门课程成绩]('实用英语')
8. 写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以
及执行的代码;(6分)
执行:所有修实用英语这门学生的最高分、最低分、平均分;
create procedure [某门课程高低均分]
@课程名 varchar(40) as
select 课程名称, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)
from 成绩表视图
where 课程名称 = @课程名
execute [某门课程高低均分] '实用英语'
9. 检索姓李的女同学的情况:姓名、性别、民族。(2分)
select 姓名, 性别, 民族 from 学生表 where 姓名 like '李%' and 性别='女'
10. 检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括学号、姓名。(4
select 学号, 姓名 from 学生表 where学号 in (select distinct 学号 from 成绩表where分数>=90)
11. 设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权
限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据。请写出账户、权限设置的T_SQL脚本。(6分)
use [学生成绩数据库]
exec sp_addlogin 'U领导', NULL, '学生成绩数据库', '简体中文'
exec sp_password NULL, '888', 'U领导'
exec sp_grantdbaccess 'U领导', 'U读者'
exec sp_addrolemember 'db_datareader', 'U读者'
use [学生成绩数据库]
exec sp_addlogin 'U领导', '888', '学生成绩数据库'
exec sp_grantdbaccess 'U领导', 'U读者'
exec sp_addrolemember 'db_datareader', 'U读者'
SQL SERVER数据库试题(3卷)参考答案
一、1.C 2.A 3. B 4.A 5.C 6.A 7. 8.D 9.B 10.C
二、1. N 2.N 3.Y 4.N 5.N 6.N 7. Y 8.N 9.N 10.Y
三、1. 外模式、模式、内模式。
2. @,@@
3. 67, D, 12
4. BEAUTIFAL, 我心中的太阳
5. 选择、投影、连接。
6. 水平,垂直
7. 聚簇索引非聚簇索引
8. 视图、存储过程
四、简述题
1. 简述使用游标的步骤。
(1) 声明游标:declare 游标名 cursor for select语句;
(2) 打开游标:open 游标名;
(3) 处理数据: fetch delete update
(4) 关闭游标:close 游标名;
(5) 释放游标:deallocate 游标名;
2. 要点:
1. 计算机的连接
2. SQL Server服务器登录(登录、固定服务器角色)
3. 数据库的访问(用户/角色:固定/自定义数据库角色)
4. 数据表(视图)的访问(select insert update delete)
5. 存储过程/内嵌表值函数的访问(execute/select)
6. 数据表(视图)中列(字段)的访问(select update)
五、设计题
1.
create database [学生成绩数据库]
go
use [学生成绩数据库]
go
2. create table 学生表
([学号] char(6) primary key,
[姓名] nchar(4) not null,
[性别] nchar(1) check([性别] in ('男', '女')),
[民族] nchar(8) default '汉族' not null,
[身份证号] char(18) unique
)
3. create table 课程表
([课号] char(6) primary key,
[名称] char(40) not null
)
4. create table 成绩表
(ID integer IDENTITY(1, 1),
[学号] char(6) references 学生表(学号),
[课号] char(6) references 课程表(课号),
[分数] integer check([分数] between 0 and 100)
)
5. insert 课程表 values('100001', '大学语文')
insert 课程表 values('100002', '大学英语')
insert 课程表 values('100003', '西班牙语')
update课程表 set 名称='实用英语' where 课号='100002'
delete课程表 where 课号='100003'
6. create view [成绩表视图] as
select 成绩表.学号,姓名,成绩表.课号,名称课程名称,分数
from 成绩表,学生表,课程表
where 成绩表.学号=学生表.学号
and 成绩表.课号=课程表.课号
create view [成绩表视图] as
select 成绩表.学号,姓名,成绩表.课号,名称课程名称,分数
from 成绩表 join 学生表 on 成绩表.学号=学生表.学号
join 课程表 on 成绩表.课号=课程表.课号
7. create function [某门课程成绩](@课程名 varchar(40))
returns table as
return (select 学号,姓名,课程名称,分数 from 成绩表视图
where 课程名称=@课程名)
create function [某门课程成绩](@课程名 varchar(40))
returns table as
return (select * from 成绩表视图
where 课程名称=@课程名)
select * from [某门课程成绩]('实用英语')
8. create procedure [某门课程高低均分]
@课程名 varchar(40) as
select 课程名称, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数) from 成绩表视图
where 课程名称 = @课程名
execute [某门课程高低均分] '实用英语'
9. select 姓名, 性别, 民族 from 学生表 where 姓名 like '李%' and 性别='女'
10. select 学号, 姓名 from 学生表 where学号 in (select distinct 学号 from 成绩表
where分数>=90)
11.
use [学生成绩数据库]
exec sp_addlogin 'U领导', NULL, '学生成绩数据库', '简体中文'
exec sp_password NULL, '888', 'U领导'
exec sp_grantdbaccess 'U领导', 'U读者'
exec sp_addrolemember 'db_datareader', 'U读者'
use [学生成绩数据库]
exec sp_addlogin 'U领导', '888', '学生成绩数据库'
exec sp_grantdbaccess 'U领导', 'U读者'
exec sp_addrolemember 'db_datareader', 'U读者'
SQL SERVER数据库试题(4卷)
一、单项选择题(每小题1分,共10分)
1.数据库应用系统是由数据库、数据库管理系统(及其开发工具)、应用系统、( D )和用户构成。
A.DBMS B.DB
C.DBS D.DBA
2.数据库管理系统的英文缩写是( A )。
A.DBMS B.DBS
C.DBA D.DB
3.在关系运算中,选取符合条件的元组是( D )运算。
A.除法 B.投影
C.连接 D.选择
4.数据库设计中的逻辑结构设计的任务是把( D )阶段产生的概念数据库模式变换为逻辑结构的数据库模式。
A.需求分析 B.物理设计
C.逻辑结构设计 D.概念结构设计
5.一个规范化的关系至少应当满足( C )的要求。
A.一范式 B.二范式
C.三范式 D.四范式
6.在实际数据库设计中,“学号”通常作为( C )存在。
A.数据结构 B.数据存储
C.数据项目 D.处理过程
7.SQL Server 2008中删除表中记录的命令是( D )。
A.DELETE B.SELECT
C.UPDATE D.DROP
8.运行命令SELECT ASCII(‘Alklk’)的结果是( D )。
A.48 B.32
C.90 D.65
9.在SQL中,建立视图用的命令是 ( C )。
A.CREATE SCHEMA
B.CREATE TABLE
C.CREATE VIEW
D.CREATE INDEX
10.在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。
A. sp_dbhelp
B. sp_db
C. sp_help
D. sp_helpdb
二、判断题(每空1分,共10分)
1.连接、选择和投影三种关系运算具有相同的结果。
2.数据的安全性主要防范的对象是合法用户。N
3. 数据库设计前只需选择数据库分析设计人员。N
4. 恢复是利用冗余数据来重建数据库。Y
5.定义外键级级联是为了保证相关表之间数据的一致性吗? Y
6.创建唯一性索引的列可以有一些重复的值?N
7.存储过程的输出结果可以传递给一个变量。Y
8.视图具有与表相同的功能,在视图上也可以创建触发器。N
9.能在游标中删除数据记录。Y
10.SQL Server 2008不具有数据的导入与导出功能。N
三、填空题(每空1分,共20分)
1.数据库三个要素是__数据结构_、_数据操作__和_完整性约束__。
2. 语句 select year('1931-9-18') 的执行结果是__1931__。
3.__域完整型__是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。4._触发器是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。
6. SQL Server 2008 采用的身份验证模式有__ Windows身份验证___模式和__混合_模式。7.用户访问SQL Server数据库时,经过了两个_身份__验证和__权限_验证安全验证阶段。8.SQL Server 2008提供的数据库备份方法有__完整__数据库备份和__差异__数据库备份、__事务日志__备份和__文件和文件组__备份。
9.SQL Server代理主要由_操作员_____、_ 作业___和警报来组成。
10.SQL Server复制把服务器分为_发布___服务器、__分发__服务器和订阅服务器三种。
四、简述题(每小题5分,共20分)
1. 试述关系的含义和性质。(7分)
关系是笛卡尔积的有意义的子集,用二维表格表示;
关系的性质如下:
关系表中的每一列都是不可再分的基本属性;
表中的各属性不能重名;
表中的行、列次序不分前后;
表中的任意两行不能完全相同。