SQL期末复习资料.docx
《SQL期末复习资料.docx》由会员分享,可在线阅读,更多相关《SQL期末复习资料.docx(44页珍藏版)》请在冰豆网上搜索。
SQL期末复习资料
一、单项选择题(每小题1分,共10分)
1.下列四项中,不属于数据库特点的是()。
A.数据共享B.数据完整性
C.数据冗余很高D.数据独立性高
2.下列四项中,不属于SQLServer2000实用程序的是()。
A.企业管理器B.查询分析器
C.服务管理器D.媒体播放器
3.SQLServer安装程序创建4个系统数据库,下列哪个不是()系统数据库。
A.masterB.model
C.pubD.msdb
4.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMSB.DB
C.DBSD.DBA
5.在SQL中,建立表用的命令是()。
A.CREATESCHEMAB.CREATETABLE
C.CREATEVIEWD.CREATEINDEX
6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。
A.包括15岁和35岁
B.不包括15岁和35岁
C.包括15岁但不包括35岁
D.包括35岁但不包括15岁
7.下列四项中,不正确的提法是()。
A.SQL语言是关系数据库的国际标准语言
B.SQL语言具有数据定义、查询、操纵和控制功能
C.SQL语言可以自动实现关系数据库的规范化
D.SQL语言称为结构查询语言
8.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。
A.sp_dbhelpB.sp_db
C.sp_helpD.sp_helpdb
9.SQL语言中,删除表中数据的命令是()。
A.DELETEB.DROP
C.CLEARD.REMOVE
10.SQL的视图是从()中导出的。
A.基本表B.视图
C.基本表或视图D.数据库
二、判断题(每空1分,共10分)
1.'在那遥远的地方'是SQL中的字符串常量吗?
2.'11.9'是SQL中的实型常量吗
3.select16%4,的执行结果是:
4吗?
4.2005.11.09是SQL中的日期型常量吗?
5.¥2005.89是SQL中的货币型常量吗?
6.select25/2的执行结果是:
12.5吗?
7.'岳飞'>'文天祥'比较运算的结果为真吗?
8.一个表可以创建多个主键吗?
9.创建唯一性索引的列可以有一些重复的值?
10.固定数据库角色:
db_datarader的成员能修改本数据库内表中的数据吗?
三、填空题(每空1分,共20分)
1.数据库系统具有数据的_________、_________和内模式三级模式结构。
2.SQLServer2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
3.语句selectascii('D'),char(67)的执行结果是:
_________和_________。
4.语句selectlower('Beautiful'),rtrim('我心中的太阳')的执行结果是:
____________和___________。
5.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
6.关系运算主要有________、________和连接。
7.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性。
8.在SQLServer2000中,数据库对象包括______、______、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。
9.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:
_________和_________。
10.语句selectround(13.4321,2),round(13.4567,3)的执行结果是:
_________和_________。
四、简答题(每小题5分,共10分)
1.在SQLServer2000中,使用视图的好处是什么?
2.在SQLServer2000中,用户访问表/视图、列的权限是什么?
五、设计题(共50分)
现有关系数据库如下:
数据库名:
同学数据库
同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
宿舍表(宿舍号char(6),宿舍电话)
用SQL语言实现下列功能的sql语句代码:
1.创建数据库[我班同学数据库]代码(2分)。
2.创建数据表[宿舍表]代码(3分);
宿舍表(宿舍号char(6),宿舍电话)
要求使用:
主键(宿舍号)、宿舍电话:
以633开头的7位电话号码
3.创建数据表[同学表]代码(6分);
同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号)
要求使用:
主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)
4.将下列宿舍信息添加到宿舍表的代码(8分)
宿舍号宿舍电话
1016331157
1026331777
修改宿舍号为101的宿舍电话:
6331158
删除宿舍号为102的宿舍信息
5.创建视图[同学表视图]代码(5分);
同学表视图(学号,姓名,性别,年龄,民族,身份证号,宿舍号,宿舍电话)
6.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。
(4分)
7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。
(5分)
8.创建带参数的存储过程[某宿舍同学]:
姓名,性别,宿舍电话
执行此过程,查询'101'宿舍情况(8分)
9.设置一SQL身份验证的用户账户:
登录名:
U班主任,密码:
888,数据库用户名:
U读者,权限:
可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。
请写出账户、权限设置的T_SQL脚本。
(9分)
参考答案
一、
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.数据表/视图(selectinsertupdatedelete)
2.列(字段)的访问(selectupdate)
5
五、
no
参考答案
分
1.
createdatabase[我班同学数据库]
go
use[我班同学数据库]
go
2
2.
createtable宿舍表
([宿舍号]char(6)primarykey,
[宿舍电话]char(7)check([宿舍电话]like'633[0-9][0-9][0-9][0-9]'))
3
3.
createtable同学表
(学号char(6)primarykey,
姓名nchar(4)notnull,
性别nchar
(1)check(性别in('男','女')),
年龄int,
民族nchar(8)default'汉族'notnull,
身份证号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.
createview[同学表视图]as
select学号,姓名,性别,年龄,民族,身份证号,同学表.宿舍号,宿舍电话
from同学表,宿舍表
where同学表.宿舍号=宿舍表.宿舍号
5
6.
select姓名,性别,宿舍电话
from同学表视图
where姓名like'张%'and性别='女'
4
7.
select最大年龄=max(年龄),最小年龄=min(年龄),平均年龄=avg(年龄)
from同学表
where性别='女'
5
8.
createprocedure[某宿舍同学]@宿舍号varchar(6)
as
select姓名,性别,宿舍电话
from同学表视图
where宿舍号=@宿舍号
go
execute[某宿舍同学]'101'
8
9.
execsp_addlogin'U班主任','888','我班同学数据库'
execsp_grantdbaccess'U班主任','U读者'
execsp_addrolemember'db_datareader','U读者'
9
一、单项选择题(每小题1分,共10分)
1.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMSB.DB
C.DBSD.DBA
2.下列四项中,不属于SQLServer2000实用程序的是()。
A.企业管理器B.查询分析器
C.服务管理器D.媒体播放器
3.SQLServer安装程序创建4个系统数据库,下列哪个不是()系统数据库。
A.masterB.model
C.pubD.msdb
4.下列哪个不是sql数据库文件的后缀。
A..mdfB..ldf
C..tifD..ndf
5.数据定义语言的缩写词为()。
A.DDLB.DCL
C.DMLD.DBL
6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。
A.包括15岁和35岁B.不包括15岁和35岁
C.包括15岁但不包括35岁D.包括35岁但不包括15岁
7.SQL的视图是从()中导出的。
A.基本表B.视图
C.基本表或视图D.数据库
8.在SQL语言中,建立存储过程的命令是()
A、CREATEPROCEDUREB、CREATERULE
C、CREATEDURED、CREATEFILE
9.SQL语言中,删除表中数据的命令是()。
A.DELETEB.DROP
C.CLEARD.REMOVE
10.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。
A.sp_dbhelpB.sp_db
C.sp_helpD.sp_helpdb
二、判断题(每空1分,共15分)
1.'在那遥远的地方'是SQL中的字符串常量吗?
2.11.9是SQL中的实型常量吗
3.select16%4,的执行结果是:
0吗?
4.2005.11.09是SQL中的日期型常量吗?
5.¥2005.89是SQL中的货币型常量吗?
6.select25/2的执行结果是:
12.5吗?
7.'李逵'>'李鬼'比较运算的结果为真吗?
8.一个表可以创建多个主键吗?
9.创建唯一性索引的列可以有一些重复的值?
10.smallint是SQL的数据类型吗?
11.SQLServer不允许字段名为汉字?
12.职称in('教授','副教授'')与职称='教授'or职称='副教授'等价吗?
13.如果规则当前绑定到某列或用户定义的数据类型,不能解除绑定能直接删除规则?
14.在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统自动为该行标识列赋值吗?
15.固定数据库角色:
db_datarader的成员修改本数据库内表中的数据吗?
三、填空题(每空1分,共20分)
1.SQLServer2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
2.语句selectascii('D'),char(67)的执行结果是:
_________和_________。
3.语句selectlower('Beautiful'),rtrim('我心中的太阳')的执行结果是:
____________和___________。
4.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割。
5.关系运算主要有________、________和连接。
6.完整性约束包括_______完整性、______完整性、参照完整性和用户定义完整性。
7.T-SQL语言中,有_________运算、字符串连接运算、比较运算和_________运算。
8.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:
_________和_________。
9.语句selectfloor(17.4),floor(-214.2),round(13.4382,2),round(-18.4562,3)的执行结果是:
_________、_________、_________和_________。
四、简答题(每小题5分,共10分)
1.简述SQLServer2000的安全性管理机制(6级,涉及登录账号、用户、角色以及权限分配)。
(6分)
2.在SQLServer2000中,使用视图的好处是什么?
(4分)
五、设计题(共45分)
现有关系数据库如下:
数据库名:
学生成绩数据库
学生信息表(学号char(6),姓名,性别,民族,身份证号)
课程信息表(课号char(6),名称)
成绩信息表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码。
1.创建数据库[学生成绩数据库]代码(2分)。
2.创建数据表[课程信息表]代码;(2分)
课程信息表(课号char(6),名称)
要求使用:
主键(课号)、非空(名称)
3.创建数据表[学生信息表]代码;(4分)
学生信息表(学号char(6),姓名,性别,民族,身份证号)
要求使用:
主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别)
4.创建数据表[成绩信息表];(5分)
成绩信息表(ID,学号,课号,分数)
要求使用:
外键(学号,课号)、检查(分数),自动编号(ID)
5.将下列课程信息添加到课程信息表的代码(8分)
课号名称
100101西班牙语
100102大学英语
修改课号为100102的课程名称:
专业英语
删除课号为100101的课程信息
6.创建视图[成绩信息表视图]的代码;(5分)
成绩信息表视图(学号,姓名,课号,课程名称,分数)
7.从学生信息表中查询姓刘的女同学的情况:
姓名、性别、民族。
(2分
8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。
(4分)
9.创建带参数的存储过程[某门课程高低均分]、执行该过程的代码(7分)
存储过程功能:
查询某门课程的最高分、最低分、平均分;
执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;
10设置一SQL身份验证的用户账户:
登录名:
U院长,密码:
888,数据库用户名:
U读者,权限:
可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。
请写出账户、权限设置的T_SQL脚本。
(6分)
参考答案
一、
1
2
3
4
5
6
7
8
9
10
A
D
C
C
A
A
C
A
A
D
二、
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Y
Y
Y
N
N
N
Y
N
N
Y
N
Y
N
Y
N
三、
no
答案
分
1.
@、@@
2
2.
68、C
2
3.
beautiful、我心中的太阳
2
4.
水平、垂直
2
5.
选择、投影
2
6.
实体、域
2
7.
算术、逻辑
2
8.
6、7
2
9.
17、-215、13.4400、-18.4560
4
四、
no
答案要点
分
1.
1.计算机的连接
2.SQLServer登录(账户、固定服务器角色)
3.库的访问(用户/角色:
固定/自定义角色)
4.表/视图的权限(selectinsertupdatedelete)
5.存储过程、内嵌表值函数的权限(executeselect)
6.表(视图)中列的权限(selectupdate)
6
2.
(1)为用户集中需要的数据,简化了数据的用户操作;
(2)对用户隐藏了数据库设计的复杂性;
(3)简化用户权限的管理
(4)组织数据导出到其它应用程序
4
五、
no
参考答案
分
1.
createdatabase[学生成绩数据库]
go
use[学生成绩数据库]
go
2
2.
createtable课程信息表
([课号]char(6)primarykey,
[名称]nchar(20)notnull)
2
3.
createtable学生信息表
([学号]char(6)primarykey,
[姓名]nchar(4)notnull,
[性别]nchar
(1)check([性别]in('男','女')),
[民族]nchar(8)default'汉族'notnull,
[身份证号]char(18)unique
)
4
4.
createtable成绩信息表
(IDintidentity(1,1),
[学号]char(6)references学生信息表(学号),
[课号]char(6)references课程信息表(课号),
[分数]integercheck([分数]between0and100)
)
5
5.
insert课程信息表values('100101','西班牙语')
insert课程信息表values('100102','大学英语')
update课程信息表set名称='专业英语'where课号='100102'
delete课程信息表where课号='100101'
8
6.
createview[成绩信息表视图]
as
select成绩信息表.学号,姓名,成绩信息表.课号,名称课程名称,分数
from成绩信息表,学生信息表,课程信息表
where成绩信息表.学号=学生信息表.学号and成绩信息表.课号=课程信息表.课号
5
7.
select姓名,性别,民族
from学生信息表
where姓名like'刘%'and性别='女'
2
8.
select学号,姓名
from学生信息表
where学号in
(selectdistinct学号from成绩信息表where分数<60)
4
9.
createprocedure[某门课程高低均分]
@课程名nchar(16)as
select课程名称,最高分=max(分数),最低分=min(分数),平均分=avg(分数)
from成绩信息表视图
where课程名称=@课程名
groupby课程名称
go
execute[某门课程高低均分]'专业英语'
7
10
execsp_addlogin'U院长','888','学生成绩数据库'
execsp_grantdbaccess'U院长','U读者'
execsp_addrolemember'db_datareader','U读者'
6
SQLServer数据库试卷1
一、单项选择题(每题2分,共15题)
1、SQLServer2005是一个()的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是
2、SQLServer2000企业版可以安装在操作系统上。
(A)MicrosoftWindows98
(B)MicrosoftWindows2000Professional
(C)MicrosoftWindows2000Server
(D)MicrosoftWindowsXP
3、SQLServer2000采用的身份验证模式有()。
(A)仅Windows身份验证模式
(B)仅SQLServer身份验证模式
(C)仅混合模式
(D)Windows身份验证模式和混合模式
4、SQLServer2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQLServer的4种服务的是()。
(A)企业管理器(B)导入和导出数据(C)事件探察器(D)服务管理器
5、SQLServer2000中的数据以页为基本存储单位,页的大小为()。
(A)8KB(B)16KB(C)32KB(D)64KB
6、新安装SQLServer后,默认有六个内置的数据库,其中的两个范例数据库是Pubs和()。
(A)master(B)NorthWind(C)msdb(D)bookdb
7、在SQLServer2000中,当数据表被修改时,系统自动执行的数据库对象是()。
(A)存储过程(B)触发器(C)视图(D)其他数据库对象
8、SQLServer的字符型系统数据类型主要包括()。
A.Int、money、charB.char、varchar、text
C.