数据库练习题文档格式.docx
- 文档编号:8122019
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:16
- 大小:21.75KB
数据库练习题文档格式.docx
《数据库练习题文档格式.docx》由会员分享,可在线阅读,更多相关《数据库练习题文档格式.docx(16页珍藏版)》请在冰点文库上搜索。
8、系统自动创建的索引有___unique____和____primary____。
//9、游标包含___结果集___和_____位置__两部分。
1、创建视图命令是(A)。
游标declare
A.CREATEVIEWB.DROPVIEWC.CREATETABLED.CREATERULE
2、在SELECT语句中,如果想要返回的结果集中不包含相同的行,应该使用关键字(C)。
A.TOPB.ASC.DISTINCTD.JOIN
3、在SELECT语句中,下列子句用于将查询结果存储在一个新表中(B)。
A.SELECT子句B.INTO子句C.FROM子句D.WHERE子句
4、为了对表中的各行进行快速访问,应对此表建立(C)。
A.约束B.规则C.索引D.视图
5、通过CREATETABLE语句或者其他方法创建了一个表后,可以使用(B)语句在表中添加记录。
A.DELETEB.INSERTC.UPDATED.INSEATER
6、(B)在定义列时,它可以为表中的指定列提供默认值。
A.FOREIGN约束外码约束B.DEFAULT约束C.UNIQUE约束D.CHECK
7、单击【查询编辑器】窗口中的任意位置。
按(A)命令,可以在全屏显示模式和常规显示模式之间进行切换。
A.Shift+Alt+EnterB.Shift+EnterC.Shift+AltD.Shift
1、单击【查询编辑器】窗口中的任意位置。
按()命令,可以在全屏显示模式和常规显示模式之间进行切换。
2、在查询编辑器窗口输入的SQL语句,可以被保存或重新打开,SQL文件的扩展名为_________。
3、关系模型中数据的逻辑结构是一张二维表,它由()组成。
A.行和列B.行C.关系D.列.
4、关系模型的完整性规则是对数据的约束。
关系模型提供了三类完整性规则_____实体______、_____参照______和_____自定义______。
5、次数据文件用于存储不能存在主数据文件中的数据,默认扩展名为()。
A..ndfB..mdfC..logD..dat
6、通常情况,SQLServer2005主要支持PRIMARY约束、UNIQUE约束、CHECK约束、DEFAULT约束、FOREIGN约束。
()在定义列时,它可以为表中的指定列提供默认值。
A.FOREIGN约束B.DEFAULT约束C.UNIQUE约束D.CHECK
7、创建S时,要求约束sex属性只能取值为男或者女,正确的命令是(B)。
A.CREATETABLESB.CREATETABLES
((
sexchar
(2),sexchar
(2),
CHECK(sexin('
男'
'
女'
))CHECK('
)
))
C.CREATETABLESD.CREATETABLES
sexchar
(2),sexin('
)char
(2),
sexin('
))
8、通过CREATETABLE语句或者其他方法创建了一个表后,可以使用()语句在表中添加记录。
A.DELETEB.INSERTC.UPDATED.INSEATER
9、一个查询的结果成为另一个查询的条件,这种查询被称为()。
10、为了对表中的各行进行快速访问,应对此表建立()。
A.约束B.规则C.索引D.视图
11、SELECT语句中,下列()子句用于对数据按照某个字段分组?
()子句用于对分组统计进一步设置条件。
A.HAVING子句B.GROUPBY子句C.ORDERBY子句D.WHERE子句
12、在SELECT语句中,下列子句用于将查询结果存储在一个新表中()。
A.SELECT子句B.INTO子句C.FROM子句D.WHERE子句
13、在SELECT语句中,下列子句用于对搜索的结果进行排序()。
14、在SELECT语句中,如果想要返回的结果集中不包含相同的行,应该使用关键字()。
15、与WHEREAGEBETWEEN18AND23完全等价的是()。
A.WHEREAGE>18ANDAGE<23B.WHEREAGE>=18ANDAGE<23C.WHEREAGE>18ANDAGE<=23D.WHEREAGE>=18ANDAGE<=23
16、创建视图命令是()。
A.CREATEVIEWB.DROPVIEWC.CREATETABLED.CREATERULE
17、修改视图时,使用()选项,可以对CREATEVIEW的文本进行加密。
A.WITHENCRYPTIONB.WITHCHECKOPTIONC.VIEW_METADATAD.ASSQL语句
简答类练习题
1.数据库管理系统的构成有哪些?
2.数据模型有哪些?
层次模型、网状模型、关系模型、面向对象
3.实体间的关系有哪几种?
一对一、一对多、多对多
4.数据库管理经历了哪3个阶段?
1:
程序管理阶段2:
文件管理阶段3:
数据库系统管理阶段
////人工管理、文件系统和数据库管理系统
5.数据完整性有哪些?
正确性、有效性、相容性///实体完整性约束参照完整性约束用户自定义完整性
6.数据库对象有哪些?
至少5个
表、视图、索引、约束、触发器、默认值、用户和角色、规则、类型、函数
7.数据库文件有哪3类?
主数据文件、辅助数据文件、日志文件
8.关系运算符有哪些?
选择、投影、连接
9.备份的方法有哪些?
完全数据库备份、数据库和事务日志备份、差异备份、数据库文件和文件组备份
10.身份验证模式有哪2种?
Windows验证模式、SQLServer验证模式
表的操作:
1、创建T表(教师基本情况表)
(TNO,TN,SEX,AGE,PROF,SAL,DEPT)分别表示教师的编号,姓名,性别,年龄,职称,工资,系别。
TC表(教师授课表)的结构为TC(TNO,CNO)分别表示教师的编号,课程编号
USEexample
GO
CREATETABLEt
(
TNOchar(10)NOTNULLPRIMARYKEY,/*教师编号字段*/
TNchar(10)NULL,/*教师姓名字段*/
SEXchar
(2)NULL,/*教师性别字段*/
AGEintNULL,/*教师年龄字段*/
PROFchar(20)NULL,/*教师职称字段*/
SALintNULL,/*教师工资字段*/
DEPTchar(10)NULL,/*教师所在系别字段*/
)
INSERTINTOtVALUES('
0001'
张老师'
41,'
副教授'
2200,'
电力系'
0002'
张益琳'
32,'
讲师'
1500,'
动力系'
CREATETABLETC
TNOchar(10)NOTNULL,/*教师编号字段*/
CNOchar(10)NULL,/*教师执教课程字段*/
INSERTINTOtcVALUES('
C5'
2、把所有教师的工资提高到平均工资的1.2倍。
updatetsetsal=sal*1.2
3、删除张益琳教师的记录。
deletet
whereTn='
4.增加一个telchar(20)列。
ALTERTABLEt
ADDtelchar(20)
5.将工资字段属性改为float型。
ALTERTABLEt
ALTERCOLUMNsalchar(20)
6.删除tel字段。
DROPCOLUMNtel
7.将张老师的年龄改为50岁。
updatetsetage=50
8.将张老师的执教课程字段改为C10.
UPDATEtcSETcno='
c10'
WHEREtnoIN
(SELECTtnoFROMtWHEREtn='
9.将TC表改为TC_01表。
execsp_rename'
tc'
tc_01'
10.将系别字段命名为sdept.
t.dept'
sdept'
11.删除TC_01表.
droptabletc_01
查询操作:
查询操作查询操作查询操作查询操作
1.查询xs表中所有内容
2.查询xs表中学号,姓名
3.查询xs表中专业
4.查询xs表中专业,过滤掉重复元组。
5.查询xs表中学号,姓名,并设置学号为学生学号
6.查询xs表中学号,姓名,出生时间,年龄
7.查询xs表前3条记录
8.查询xs表中学号,姓名,性别并把查询内容生成新表xs_new
9.生成新表xs_new1,使此表的框架和xs表相同,但表中无记录。
10.查询xs表中年龄在23岁以下的学生学号,姓名,出生日期。
11.查询cj表中选修了a001的j001学生学号
12.查询xs表中姓王的学生
13.查询xs表中姓王的女学生
14.查询xs表中的所有学生记录,并按总学分降序排列
15.查询xs表不属于信息管理专业学生记录
16.查询选修了课程的学号,姓名,课程号,成绩
xs表
学号
姓名
性别
出生时间
专业
总学分
101
王林
男
1988-2-3
信息管理
20
102
程明
1988-5-15
103
王燕
女
1987-8-23
104
李丽
1988-12-22
网络工程
24
105
李强
1987-4-5
26
cj表
课程号
成绩
a001
89
a002
98
j001
60
j002
70
答案:
1.select*fromxs
2.select学号,姓名fromxs
3.select专业fromxs
4.selectdistinct专业fromxs
5.select学号as学生学号,姓名fromxs
6.select学号,姓名,出生时间,datediff(year,出生时间,getdate())as年龄fromxs
7.selecttop3*fromxs
8.select学号,姓名,性别intoxs_newfromxs
9.select*intoxs_new1fromxswhere1>
2
10.select学号,姓名,出生时间fromxswheredatediff(year,出生时间,getdate())<
23
11.select学号fromcjwhere课程号in(‘a001’,’j001’)
12.select*fromxswhere姓名like‘王%’
13.select*fromxswhere姓名like‘王%’and性别=’女’
14.select*fromxsorderby总学分desc
15.select*fromxswhere专业<
>
’信息管理’
16.selectxs.学号,姓名,课程号,成绩fromxs,cjwherexs.学号=cj.学号
假设有basetest数据库的如下关系
Student(sno,sname,ssex,sage,sdept)
Sc(sno,cno,grade)
Course(cno,cname,cpni,ccredit)
Usebasetest
5.用in和exists分别实现下面内容
1)查询选修了高等数学的学号,成绩和课程号
2)查询选修了高等数学的学号,姓名和系别
6.用比较子查询实现查询大于平均年龄的学生信息
5.1)selectsno,grade,cno
fromsc
wherecnoin
(selectcno
Fromcourse
wherecname=’高等数学’)
selectsno,grade,cno
whereexists
(select*
fromcourse
wherecno=oandcname=’高等数学’)
2)selectsno,sname,sdept
fromstudent
wheresnoin
(selectsno
wherecname=’高等数学’))
selectsno,sname,sdept
wheresno=student.snoandexists
Wherecno=oandcname=’高等数学’))
6.select*fromstudent
Wheresage>
(selectavg(sage)fromstudent)
select*fromstudent
wheresdept!
=’IS’andsage>
all
(selectsage
Fromstudent
Wheresdept=’IS’)
视图的操作:
usebasetest
1、创建stud_view视图,显示学生的姓名、选修课程和成绩。
createviewstud_view
as
selectsname,cno,grade
fromsc,student
wheresc.sno=student.sno
2、创建stud_view1视图,可以查看平均成绩在80分以上的学生姓名。
createviewstud_view1
selectsname
(selectsno
fromsc
groupbysno
havingavg(grade)>
80)
3、创建student_view2视图,可以显示课程名和选修该课程的学生人数。
createviewstudent_view2
selecto,cname,count(sno)人数
fromsc,course
whereo=o
groupbyo,cname
5、创建depart_view视图查看每个系的学生人数。
createviewdepart_view
selectsdept,count(sno)as人数
groupbysdept
6、创建stud_view2视图可以查看每个学生的选修课程的门数和平均成绩。
createviewstud_view2
selectsno,count(sno)as门数,avg(grade)as平均成绩
groupbysno
7、在stud_view2视图上查询平均成绩在80分以下的学生学号。
selectsno
fromstud_view2
where平均成绩<
80
触发器、程序控制、自定义函数、存储过程:
例5创建一个自定义函数,返回特定学号学生选修课程的平均成绩。
(自定义函数)
USEbasetest
CREATEFUNCTIONinfo_student(@snonchar(8))
RETURNSFLOAT
AS
BEGIN
DECLARE@GradeFLOAT
SET@Grade=(SELECTAVG(grade)
FROMsc
WHEREsno=@sno
GROUPBYsno)
RETURN@Grade
END
例10求5的阶乘(程序控制)
DECLARE@rint,@timesint
SET@r=1
SET@times=1
label1:
SET@r=@r*@times
SET@times=@times+1
IF@times<
=5
GOTOlabel1
PRINT'
5的阶乘为:
'
+str(@r)
例11求1到100的和(程序控制)
DECLARE@iint,@sumint
SET@i=0
SET@sum=0
WHILE@i>
=0
BEGIN
SET@i=@i+1
IF@i>
100
SELECT'
1到100的和'
=@sum
BREAK
END
ELSE
SET@sum=@sum+@i
END
例15返回女生信息(存储过程)
IFEXISTS(SELECTnameFROMsysobjects
WHEREname='
stu_pro'
andtype='
p'
)
DROPPROCEDUREstu_pro
CREATEPROCEDUREstu_proAS
SELECT*
FROMstudent
WHEREssex='
--调用
EXECUTEstu_pro
例5检查插入的学生是否是is系的学生(触发器)
IFEXISTS(SELECTnameFROMsysobjects
WHEREname='
sc_tr'
ANDtype='
TR'
)
DROPTRIGGERsc_tr
CREATETRIGGERsc_tr
ONsc
FORINSERT
IFEXISTS(
SELECTsnoFROMinserted
WHEREsnoNOTIN
(
SELECTsnoFROMstudent
WHEREsdept='
IS'
PRINT'
该学生不是IS系的学生'
ROLLBACKtran
例6学生选修过的课程不能删除(触发器)
course_tr'
DROPTRIGGERcourse_tr
CREA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 练习题