数据库原理与设计题库.docx
- 文档编号:24542942
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:13
- 大小:21.72KB
数据库原理与设计题库.docx
《数据库原理与设计题库.docx》由会员分享,可在线阅读,更多相关《数据库原理与设计题库.docx(13页珍藏版)》请在冰豆网上搜索。
数据库原理与设计题库
数据库原理与设计题库
一、单项选择题
1.下列哪些不是SQL中的数据类型。
(D)
A.floatB.moneyC.smallintD.smallfloat
2.查询测验中分数不属于80-100之间的候选人,合适的查询语句是__A____
A.SELECTvFirstName,vLastName,siTestScore
FROMExternalCandidate
WHEREsiTestScoreNOTBETWEEN80AND100
B.SELECTvFirstName,vLastName,siTestScore
FROMExternalCandidateA
WHEREsiTestScoreBETWEEN80AND100
C.SELECTvFirstName,vLastName,siTestScore
FROMExternalCandidate
WHEREsiTestScoreNOTBETWEEN100AND80
D.SELECTvFirstName,vLastName,siTestScore
FROMExternalCandidate
WHEREsiTestScoreBETWEEN100AND80
3.下面数据类型中,在定义时需要给出数据长度的是(A)。
A.textB.int
C.charD.money
4.下列函数中,返回值数据类型为int的是(B)。
A.LEFTB.LEN
C.LTRIMD.SUNSTRING
5.关于索引下面说法错误的是(B)。
A.索引可以加快数据的检索速度,但是降低看了数据维护的速度
B.非聚集索引应该在聚集索引被创建之前创建
C.在默认的情况下,所创建的索引是非聚集索引
D.建立主键约束时会自动建立唯一性索引
6.下列哪个不是数据库对象(A)。
A.数据模型B.视图
C.表D.用户
7.使用下列A__语句可以删除数据库。
A.DROP DATABASE B.CREATE TABLE
C.ALTER DATABASE D.DROP TABLE
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)。
A.索引可以加快数据的检索速度,但是降低看了数据维护的速度
B.非聚集索引应该在聚集索引被创建之前创建
C.在默认的情况下,所创建的索引是非聚集索引
D.建立主键约束时会自动建立唯一性索引
16.使用聚合函数把空值计算在内的是(A)。
A.COUNT(*)B.SUM
C.MAXD.AVG
17.下面描述错误的事__B____.
A.每个数据文件中都有且只有一个主数据文件
B.日志文件可以存在于任意文件组中
C.主数据文件默认为primary文件组
D.文件组是为了更好地实现数据文件组织
18.下面语句中,_C____语句用来删除视图。
A.CREATETABLEB.ALTEVIEW
C.DROPVIEWD.CREATEVIEW
19.已经声明了一个字符型局部变量@n,在下列语句中,能对该变量正确赋值的是(B)。
A.@n=’HELLO’
B.SELECT @n=’HELLO’
C.SET@n=HELLO
D.SELECT @n=HELLO
20.关于SQLServer2008数据库事务日志文件叙述错误的是___C___。
A.一个数据库可以有多个事务日志文件
B.创建数据库时,如果未指定事务日志文件,SQLServer则会自动创建一个
C.事务日志文件的默认大小为5MB
D.如果未指定事务日志文件的增长量,则文件大小也会不断变化。
21.下列函数中,返回值数据类型为int的是(B)。
A.LEFTB.LEN
C.LTRIMD.SUNSTRING
22.语句printcast(123asnchar(5))+’456’的结果是(C)。
A.’579’B.579C.’123456’D.’123456’
23.表达式Datepart(yy,’2016-9-13’)+2的结果是(C)。
A.’2016-9-15’B.2016
C.’2018’D.’2016-11-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)。
A..mdfB..ldf
C..tifD..ndf
29.关于DROPDATABASE语句叙述错误的是(C)
A.一次可以删除一个或多个数据库
B.在删除数据库时不会显示确认信息
C.会删除数据库的磁盘文件
D.如果数据库正在使用,删除数据库将导致应用程序出错
30.下列关于执行SQLServer2008查询叙述正确的是(C)
A.如果没有选中的命令,则只执行最前面的第一条命令
B.如果有多条命令选择,则只执行选中命令的第一条命令
C.如果查询中有多条命令有输出,则按顺序显示所有结果
D.都正确
31.在模糊查询中,与关键字LIKE匹配的表示任意字符串的符号是(B)。
A.?
B.%C.[]D.*
32.执行下面语句的结果是__A____。
PRINT UPPER(LTRIM(RTRIM(' Hello,world ')))
A.'HELLO,WORLD' B.' Hello,world '
C.' Hello,world' D.'HELLO,WORLD'
33.语句PRINT DATEDIFF(mm,'2016-10-26','2016-10-8')的执行结果是_A__。
A.0 B.-1 C.1 D.2
34.在WHILE循环语句中,如果循环体语句条数多于一条,必须使用__A____.
A.BEGIN……END
B.CASE……END
C.IF……THEN
D.GOTO
35.对数据进行统计时,求最大的函数值是哪个(A)。
A.max()B.min()C.lenth()D.count()
36.关系运算不包括___D_____
A.连接B.投影C.选择D.查询
二.填空题
1.根据索引的属性列是否有重复值,可以把索引分为唯一索引和重复索引。
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、.ldf
11.用于删除表数据的命令是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、在使用分组和排序子句进行数据检索时,同时可以显著减少查询中分组和排序的时间
通过使用检索,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
2.存储过程与存储在客户计算机的本地T-SQL语句相比,它具有什么优点?
(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 @time1 datetime,@time2 datetime,@time3 datetime
set @time1='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
)
Go
Student表结构
列名数据类型及长度是否为空备注
学号Nchar(11)NO主键
姓名Nchar(10)NO
院系Nchar(20)NO
(2)向上面的表student中插入一行数据(’01220160701’,’王刚’,’计算机学院’)。
Usejiaoxue
Go
Insertintostudent(学号,姓名,院系)
Value(‘01220160701’,’王刚’,’计算机学院’)
Go
(3)将student表中所有学号以1712开头的学生的院系修改改为“软件学院”。
Usejiaoxue
Go
Updatestudentset院系=’软件学院’where学号like‘1712%’
Go
(4)在student表中查询计算机学院学生或者姓王的学生信息。
Usejiaoxue
Go
Select*fromstudentwhere院系=’计算机学院’or姓名like‘王%’
Go
(5)按院系分组,求出student表中每个院系学生的人数。
Usejiaoxue
Go
Selectdistinct院系,count(*)as人数fromstudentgroupby院系
Go
2.根据下列数据库中表的结构,回答问题写出Transact-SQL语句。
学生(学号nchar(8)primarykey,姓名nchar(8),班级nchar(10),
性别nchar
(2),出生日期ndatatime,出生城市nchar(10),
入学成绩tinyint)
课程(课程号nchar(6)primarykey,课程名nchar(20))
学生选课信息表(学期nchar
(2),学号nchar(8)references学生(学号),课程号nchar(6)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(入学成绩)>550
Groupby班级
6.查询选修了“实验英语”课程的学生的学号,以及使用英语的成绩。
select学号,成绩
From学生选课信息表join课程on学生选课信息表.课程号=课程.课程号
Where课程名=‘实验英语’
7.查询第一学期所选课程平均成绩前三名的那些学生的学号和姓名。
selecttop3学生.学号,姓名
from学生join学生选课信息表on学生.学号=学生选课信息表.学号
where学生选课信息表.学期=’01’
Orderbyavg(成绩)
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 设计 题库