数据库原理与设计题库Word下载.docx
- 文档编号:22376038
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:13
- 大小:36.16KB
数据库原理与设计题库Word下载.docx
《数据库原理与设计题库Word下载.docx》由会员分享,可在线阅读,更多相关《数据库原理与设计题库Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
A.DROPDATABASEB.CREATETABLE
8.在“工资表”中的“基本工资”列用来存放员工的基本工资金额(没有小数),下面最节
省空间的数据类型是(B)。
A.tinyintB.smallint
C.intD.decimal(3,0)
9.关于视图下面说法错误的是(C)。
A.视图不是真实存在的基础表而是一个虚拟的表
B.视图对应的数据存储在视图所引用的表中
C.视图只能由一个表导出
D.视图也可以包含几个被定义的数据列和多个数据行
10.执行以下创建视图的语句时出现错误,原因是(C)。
Createviewv_g
As
Select商品名称,生产厂商fromgoodsorderby商品名称desc
A.视图数据只源于一个基表
B.没有使用WITHCHECKOPTION选项
C.创建视图时不能使用ORDERYBY子句
D.在创建视图时如果包含了ORDERYBY子句,则要使用TOP语句才能生成视图
11.以下关于外键和相应的主键之间的关系,正确的是(A)。
A.外键不一定要与相应的主键同名
B.外键一定要与相应的主键同名
C.外键一定要与相应的主键同名而且唯一
D.外键一定要与相应的主键同名,但是并不一定唯一
12.下面语句中,_C语句用来删除视图。
A.CREATETABLEB.ALTEVIEW
C.DROPVIEWD.CREATEVIEW
13.在T-SQL中,条件“年龄BETWEEN15AND35”,表示年龄在15岁到35岁之间且
(A)。
A.包括15岁和35岁
B.包括15岁但不包括35岁
C.不包括15岁和35岁
D.包括35岁但不包括15岁
14.在模糊查询中,与关键字LIKE匹配的表示任意字符串的符号是(B)。
A.?
B.%C.[]D.*
15.关于索引下面说法错误的是(B)。
D.建立主键约束时会自动建立唯一性索引
16•使用聚合函数把空值计算在内的是(A)。
A.COUNT(*)B.SUM
C.MAXD.AVG
17•下面描述错误的事__B.
A.每个数据文件中都有且只有一个主数据文件
B.日志文件可以存在于任意文件组中
C.主数据文件默认为primary文件组
D.文件组是为了更好地实现数据文件组织
18•下面语句中,_C语句用来删除视图。
A.CREATETABLEB.ALTEVIEW
19.已经声明了一个字符型局部变量@n,在下列语句中,能对该变量正确赋值的是
(B)。
A.@n='
HELLO'
B.SELECT@n='
C.SET@n=HELLO
D.SELECT@n=HELLO
20.关于SQLServer2008数据库事务日志文件叙述错误的是___C___。
A.一个数据库可以有多个事务日志文件
B.创建数据库时,如果未指定事务日志文件,SQLServer则会自动创建一个
C.事务日志文件的默认大小为5MB
D.如果未指定事务日志文件的增长量,则文件大小也会不断变化。
21.下列函数中,返回值数据类型为int的是(B)。
A.LEFTB.LEN
22.语句printcast(123asnchar(5))+'
456'
的结果是(C)。
A.'
579'
B.579C.'
123456'
D.'
123456'
23.表达式Datepart(yy,'
2016-9-13'
)+2的结果是(C)。
201-6-15'
B.2016
C.'
2018
D.'
201-61-13
24•对数据进行统计时,求最大的函数值是哪个(A)。
A.max()B.min()C.lenth()D.count()
25•下面标志符不合法的是(A)。
A.[mydelete]B._mybaseC.$moneyD.triggerl
26.下列哪个既不是SQL数据文件也不是日志文件的后缀(C)。
A..mdfB..ldf
C..tifD..ndf
27.下面对union的描述正确的是_D_。
A.任何查询语句都可以用union来连接
B.union只连接结果集完全一样的查询语句
C.union是筛选关键词,对结果集再进行操作
D.union可以连接结果集中数据类型个数相同的多个结果集
28.下列哪个既不是SQL数据文件也不是日志文件的后缀(C)。
29.关于DROPDATABASE语句叙述错误的是(C)
A.一次可以删除一个或多个数据库
B.在删除数据库时不会显示确认信息
C.会删除数据库的磁盘文件
D.如果数据库正在使用,删除数据库将导致应用程序出错
30.下列关于执行SQLServer2008查询叙述正确的是(C)
A.如果没有选中的命令,则只执行最前面的第一条命令
B.如果有多条命令选择,则只执行选中命令的第一条命令
C.如果查询中有多条命令有输出,则按顺序显示所有结果
D.都正确
31.在模糊查询中,与关键字LIKE匹配的表示任意字符串的符号是(B)。
32.执行下面语句的结果是A。
PRINTUPPER(LTRIM(RTRIM('
Hello,world'
)))
HELLO,WORLD'
B.'
Hello,world'
HELLO,WORLD'
33.语句PRINTDATEDIFF(mm,'
2016-10-26'
'
2016-10-8'
)的执行结果是_A_。
A.0B.-1C.1D.2
34.在WHILE循环语句中,如果循环体语句条数多于一条,必须使用A.
A.BEGIN
END
B.CASE……END
C.IF……THEN
D.GOTO
35.对数据进行统计时,求最大的函数值是哪个(A)o
36•关系运算不包括___D
A.连接B.投影C.选择D.查询
2.填空题
I.根据索引的属性列是否有重复值,可以把索引分为唯一索引和重复索引。
2•函数ROUND(558.3049,2)的返回值是558.30
3.SELECT查询语句中两个必不可少的子句是_FROM子句和WHERE子句。
4.SQLServer2008中的变量分为全局变量和局部变量两种。
其中全局变量的名称以@@字
符开始,由系统定义和维护;
局部变量的名称是以@字符开始,由用户自己定义和赋值。
5.在Transact-SQL语句中,使用_ALTERVIEW_命令可以修改视图。
6.在SELECT语句中用distinct关键字消除重复行。
7.SQLSever2008使用的运算符共有7类:
算术运算符、逻辑运算符、关系运算符
字符串串联运算符、按位运算符、赋值运算符和一元运算符。
8.声明游标的命令是declarecursor,释放游标的命令是deallocate
9.创建视图的命令是CreateView,修改视图的命令是Alterview
10.从存储结构上来看,数据库文件主要由主数据文件和—日志文件组成,相应的文件扩
展名是:
mdf、」df
II.用于删除表数据的命令是delete
12.计算字段的累加和的函数是sum,统计项目数的函数是count
13.在Transact-SQL语句中,使用_Alterview命令可以修改视图。
14.表达式是标识符,常量,变量,—函数运算符_和—操作数一的组合。
15.给局部变量赋值可以使用—set语句或者select语句赋值。
16.建立表所使用的命令是—CREATETABLE。
三、简答题(每题5分,共20分)
1.视图和表有什么区别?
简述视图的优点。
1.视图是虚拟表,其结构和数据是建立在对表的查询基础上,是基表的数据的映射。
而表的结构和数据在数据库中是真实存在,能够进行增删改查等操作。
(2分)
视图的优点:
(1)视点集中。
使用户只关心感兴趣的某些特定数据和他们所负责的特定任务,那些
不需要或无用的数据则不必在视图中显示。
(2)简化操作。
视图大大简化了用户对数据的操作。
因为在定义视图时,若视图本身
就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新编写这些复杂的查
询语句,只要一条简单的查询视图语句即可。
(3)定制数据。
视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。
因此,当有许多不同水平的用户共用同一数据库时,这就显得极为重要。
(4)合并分割数据。
可以重新保持表原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过
视图来重载数据。
(5)安全性。
视图可以作为一种安全机制。
通过视图用户只能查看和修改他们所能看到的数据,其他数据库或表既不可见也不可以访问。
如果某一用户想要访问视图的结果集,其必须被授予访问权限。
视图所引用表的访问权限与视图权限的设置互不影响。
(3分)
1•简述在数据库中创建索引的必要性。
1、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性
2、可以大大加快数据的检索速度,这也是创建索引的最主要的原因
3、可以加速表的和表之间的链接,特别是在实现数据的参考完整性方面特别有意义
4、在使用分组和排序子句进行数据检索时,同时可以显著减少查询中分组和排序的时间通过使用检索,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
3•什么是存储过程?
有什么优点?
存储过程是一种数据对象,是存放在数据库服务器上的T—SQl的控制语句构成的语句集
合。
存储过程具有输入参数和输出参数,通过这些参数返回结果集。
通过使用存储过程,一
些负责的操作可以封装为独立的程序模块,并且具有“一次编译,多次执行”优点。
3•已知两个日期为2016-10-29和2016-11-01,要求编程生成两个日期之间的所有日期,成结果如下:
2016-10-29
2016-10-30
2016-10-31
2016-11-01
declare@time1datetime,@time2datetime,@time3datetime
set@time仁'
2010/10/29'
set@time2='
2010/11/01'
set@time3=@time1
while(@time3<
=@time2)
begin
select@time3
set@time3=DateAdd(dd,1,@time3)
end
4.编写程序计算两个整数之和。
(变量i=30,变量j=50)
Declare@iint,@jint,@sumint
Set@i=30
Set@j=50
Select@sum=@i+@j
Print@sum
go
四、综合题
1.在已创建的数据库jiaoxue中利用Transact-SQL语句完成操作。
(1)创建一个如下所示的结构数据表student。
Usejiaoxue
Go
Createtablestudent(
学号nchar(11)notnullprimarykey,姓名nchar(10)notnull,院系nchar(20)notnull
)
Student表结构
列名
数据类型及长度
是否为空
备注
学号
Nchar(11)
NO
主键
姓名
Nchar(10)
院系
Nchar(20)
(2)向上面的表student中插入一行数据('
1220160701'
王刚'
计算机学院'
。
Insertintostudent(学号,姓名,院系)
Value(01220160701'
王刚'
(3)将student表中所有学号以1712开头的学生的院系修改改为“软件学院”。
Updatestudentset院系='
软件学院'
where学号like1712%'
(4)在student表中查询计算机学院学生或者姓王的学生信息。
Select*fromstudentwhere院系='
or姓名like王%'
⑸按院系分组,求出student表中每个院系学生的人数。
Selectdistinet院系,count(*)as人数fromstudentgroupby院系
2•根据下列数据库中表的结构,回答问题写出Transact-SQL语句。
学生(学号nchar(8)primarykey,姓名nchar(8),班级nchar(10),
性别nchar
(2),出生日期ndatatime,出生城市nchar(10),
入学成绩tinyint)
课程(课程号nchar(6)primarykey,课程名nchar(20))
nchar(6)
学生选课信息表(学期nchar
(2),学号nchar(8)references学生(学号),课程号
references课程(课程号),成绩tinyintcheck(成绩>
=0and成绩<
=100))
1.查询缺少成绩的学生学号和相应的课程号。
Select学号,课程号From学生选课信息表Where成绩isnull
2.查询学生表中所有学生信息。
select*From学生
3.统计各班级女生人数。
selectcount(*)From学生Where性别='
女’Groupby班级
4.查询17物流01班全体学生的学号与姓名,且按照入学成绩的降序排列。
select学号,姓名From学生Where班级='
17物流01班’Orderby入学成绩desc
5.统计班级的平均入学总成绩在550分以上的班级和这些班级的平均入学总分。
select班级,avg(入学成绩)From学生whereavg(入学成绩)>
550Groupby班级
6.查询选修了实验英语”课程的学生的学号,以及使用英语的成绩。
select学号,成绩
From学生选课信息表join课程on学生选课信息表.课程号=课程.课程号
Where课程名='
实验英语’
7.查询第一学期所选课程平均成绩前三名的那些学生的学号和姓名。
selecttop3学生.学号,姓名
from学生join学生选课信息表on学生.学号=学生选课信息表.学号
where学生选课信息表.学期='
1'
Orderbyavg(成绩)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 设计 题库