12年数据库期末考试题.docx
《12年数据库期末考试题.docx》由会员分享,可在线阅读,更多相关《12年数据库期末考试题.docx(22页珍藏版)》请在冰豆网上搜索。
12年数据库期末考试题
第1题
0
打开某个Access数据库,创建一个数据访问页,在“页”对象列表框中所列出的是数据访问页的_____。
A.网页B.数据库文件C.快捷方式D.子表
答案:
C
第2题
0
在Access中,当对数据访问页设置分组字段时,展开控件的作用是显示或隐藏每组中的_____。
A.记录源B.字段C.记录D.数据表
答案:
C
第3题
0
在宏的设计视图窗口中,下半部分是_______。
A.操作参数区B.设计区C.打印区D.状态区
答案:
A
第4题
0
在宏中,OpenReport操作可用来打开指定的_______。
A.查询B.状态栏C.窗体D.报表
答案:
D
第5题
0
在Access中的VBA过程里,要运行宏可以使用DoCmd对象的______方法。
A.OpenB.RunMacroC.CloseD.Query
答案:
B
第6题
0
关于宏的执行,以下说法不正确的是_______。
A.在“数据库”窗口,选择“宏”对象列表中的宏组名并双击,可以直接运行宏组中第一个宏的所有宏操作
B.在“数据库”窗口,选择“宏”对象列表中的宏组名并双击,不可以直接运行宏组中第二个宏的所有宏操作
C.可以在一个宏中运行另一个宏
D.在打开数据库时,不会自动运行AutoExec宏
答案:
D
第7题
0
在宏中,用于显示所有记录的宏命令是_______。
A.MsgboxAllRecordsB.ShowAllRecords
C.SetValueD.Restore
答案:
B
第8题
0
在VBA中,表达式(5^2Mod8)>=4的值是_______。
A.TrueB.FalseC.AndD.Or
答案:
B
第9题
0
在VBA中,表达式23\4<=3Or5>=6的值是_______。
A.TrueB.FalseC.AndD.Or
答案:
B
第10题
0
在VBA中,表达式Not(Not(8-3>5))的值是_______。
A.TrueB.FalseC.AndD.Or
答案:
B
第11题
0
在VBA中,表达式33/2>16And(16\5>3)的值是_______。
A.TrueB.FalseC.AndD.Or
答案:
B
第12题
0
在VBA中,声明函数过程的关键字是_______。
A.DimB.ConstC.FunctionD.Sub
答案:
C
第13题
0
对VBA中的逻辑值进行算术运算时,True值被当做-1,False当做_______。
A.1B.2C.0D.3
答案:
C
第14题
0
在VBA中,类型说明符#表示的数据类型是______。
A.整型B.长整型C.单精度型D.双精度型
答案:
D
第15题
0
下列语句中,定义窗体的加载事件过程的头语句是______。
A.PrivateSubForm_Chang()
B.PrivateSubForm__LostFocus()
C.PrivateSubForm_Load()
D.PrivateSubForm_Open()
答案:
C
第16题
0
现有一个已经建好的窗体,窗体中有一个命令按钮,单击此按钮,将打开“产品数量统计”报表,如果采用VBA代码完成,下面语句正确的是______。
A.Docmd.OpenForm"产品数量统计"
B.Docmd.OpenView"产品数量统计"
C.Docmd.OpenTable"产品数量统计"
D.Docmd.OpenReport"产品数量统计"
答案:
D
第17题
0
表达式IIf(0,60,100)的结果是______。
A.0B.60C.100D.160
答案:
C
第18题
0
在VBA中,变量声明语句“Dima#,bASinteger”中的变量a的类型是______。
A.整型B.双精度型C.长整型D.变体型
答案:
B
第19题
0
在VBA中,“Dima(3,3)ASBollean”语句定义了一个数组,该数组中的全部元素都初始化为______。
A.TrueB.FalseC.-1D.1
答案:
B
第20题
0
在VBA某个模块中,有如下声明语句
Dima(6,10)ASinteger
那么数组a(6,10)总共有______个元素。
A.16B.60C.70D.77
答案:
D
第21题
0
以下VBA程序段运行后,变量j的值是______。
k=10
j=0
Do
k=k+10
j=j+1
LoopUntilk>20
A.1B.2C.4D.10
答案:
B
第22题
0
以下VBA程序段运行后,变量j的值是______。
y=89
j="不及格"
DoWhiley>60
j=IIf(y<70,"及格",IIf(y<90,"良好","优秀"))
y=y-50
Loop
A."不及格"B."及格"C."良好"D."优秀"
答案:
C
第23题
0
以下是宏h的操作序列设计:
条件操作操作参数
[txt1]>=2MsgBox消息是“北京”
...MsgBox消息是“上海”
MsgBox消息是“广州”
现设置宏h为窗体“sysu”上名为“cmd1”命令按钮的单击事件属性,打开窗体“sysu”运行后,在窗体上名为“txt1”的文本框内输入数字1,然后单击命令按钮cmd1,则
A.屏幕会弹出一个消息框,显示消息“北京”
B.屏幕会先后弹出两个消息框,分别显示消息“北京”和“上海”
C.屏幕会先后弹出三个消息框,分别显示消息“北京”、“上海”、“广州”
D.屏幕会弹出一个消息框,显示消息“广州”
答案:
D
第24题
0
以下VBA代码程序运行结束后,变量a的值是______。
a=0
b=101
Do
b=b-20
a=a+b
LoopWhileb>80
A.60B.140C.142D.160
答案:
C
第25题
0
以下VBA代码程序运行结束后,数组元素a(12)的值是______。
Dima(12)AsLong,iAsLong
i=0
DoUntili>12
a(i)=i^2-i
i=i+1
Loop
A.1B.128C.132D.144
答案:
C
第26题
0
假定有如下的Function过程:
Functionppfun(xAsSingle,yAsSingle)
ppfun=x^3-y^2
EndFunction
在窗体上添加一个命令按钮(名为cmd10),然后编写如下事件过程:
PrivateSubcmd10_Click()
DimaAsSingle,bAsSingle
a=5
b=4
MsgBoxppfun(a,b)mod50
EndSub
打开窗体运行后,单击命令按钮,消息框中的输出内容是______。
A.50B.25C.9D.109
答案:
C
第27题
0
在窗体上添加一个命令按钮(名为cmd12),然后编写如下事件过程:
PrivateSubcmd12_Click()
DimpiAsSingle,nAsInteger
pi=3.14
n=Len(Str(pi)&Space
(2)&"是本字符串长度")
MsgBoxn
EndSub
打开窗体运行后,单击命令按钮,消息框中的输出内容是______。
A.11B.12C.13D.14
答案:
D
第28题
0
在窗体上添加一个命令按钮(名为cmd13),然后编写如下事件过程:
PrivateSubcmd13_Click()
DimxAsString,yAsString
x="龙洞华美路中山大学新华学院法学院"
y="20XX级法学专业学生"
MsgBoxMid(x,6,4)&Right(x,3)&Left(y,9)
EndSub
打开窗体运行后,单击命令按钮,消息框中的输出内容是______。
A.龙洞华美路中山大学新华学院法学院20XX级法学专业学生
B.中山大学新华学院法学院20XX级法学专业学生
C.中山大学法学院20XX级法学专业学生
D.中山大学法学院20XX级法学专业
答案:
D
第29题
0
下列程序段,建立如图所示的数组d(下标从1开始),填写所缺部分:
123456
212345
321234
432123
543212
654321
Dimd(1To6,1To6)
Forj=1To6
Fork=1To6
d(j,k)=Abs(_____)+1
Nextk
Nextj
A.jB.j-k+1C.j-kD.2*j-k
答案:
C
第30题
1
在Access中,宏的种类包括_______。
A.繁难宏B.条件宏C.宏组D.简单宏
答案:
BCD
第31题
1
下面______是合法的变量名。
A.STR-NAMEB.CaseC.FOR_99D.abc2006
答案:
CD
第32题
1
在VBA中,对于Sub(或Function)过程中的每一个形参,可用于声明其参数传递方式的关键字包括_______。
A.ByMeB.ByVal
C.ByRefD.ByVBA
答案:
BC
第33题
4
在窗体上添加一个命令按钮(名为cmd),然后编写如下事件过程。
单击该命令按钮,便将数组p(6,8)中各个元素都赋予其对应的两个下标值平方之和,请完善程序。
PrivateSubcmd_Click()
Dimp(6,8)Asinteger,iAsinteger,jAsinteger
For____[1]_____To6
Forj=0To____[2]_____
p(i,j)=____[3]_____
Nextj
Nexti
EndSub
[1]A.i>0B.i>0C.i=1D.i=0
[2]A.6B.7C.8D.9
[3]A.(i+j)^2B.i^2+jC.i+j^2D.i^2+j^2
答案:
DCD
第34题
4
在窗体上已经建立1个文本框控件txt1和1个命令按钮控件cmd1。
请完善程序,使之完成以下操作:
程序运行时,文本框上显示“VBA程序设计”,命令按钮的标题上显示“隐藏”;
单击命令按钮时文本框消失;
单击窗体时显示出文本框。
PrivateSub___[1]___()
txt1.Visible=False
EndSub
PrivateSubForm_Click()
txt1.Visible=___[2]___
EndSub
PrivateSubForm_Load()
txt1.Value="VBA程序设计"
txt1.Visible=True
cmd1.___[3]___="隐藏"
EndSub
[1]A.command1_ClickB.Lab1_Click
C.Form_LoadD.cmd1_Click
[2]A.FalseB.True
C."隐藏"D."显示"
[3]A.VisibleB.Value
C.CaptionD.Click
答案:
DBC
第35题
4
在窗体上已经建立1个标签控件lab1和1个命令按钮控件cmd1。
请完善程序,使之完成以下操作:
打开窗体后单击命令按钮,则通过输入对话框分别输入3个数值,然后求出其中最大的数,并将最大的数显示在标签lab1中。
PrivateSubcmd1_Click()
DimaAsSingle,bAsSingle,cAsSingle
DimkAsSingle
a=Val(InputBox("输入第一个数"))
b=Val(InputBox("输入第二个数"))
c=Val(InputBox("输入第三个数"))
Ifak=b
Else
___[1]___
EndIf
If___[2]___Then
k=c
EndIf
___[3]___
EndSub
[1]A.k=0B.k=cC.k=bD.k=a
[2]A.k=kB.k=cC.kc
[3]A.lab1.Value=aB.lab1.Value=b
C.lab1.Caption=cD.lab1.Caption=k
答案:
DCD
第36题
2
通过编程求出结果。
把9786表示为两个加数之和,使其中一个加数能被91整除,而另一个加数能被87整除。
请求出:
在这两个加数中,能被91整除的加数等于多少?
答案:
4914(n)
第37题
2
求S=1/5+1/10+1/15+1/20+1/25+…+1/(5*n)+…的前n项之和,当S第一次大于或等于1.4时终止计算,此时项数n为_____。
答案:
616(n)
&&&&&&&&&&&&&&&&
1.创建数据库
自选方法,采用如表1所示参数创建“考勤管理”数据库。
表1“考勤管理”数据库参数列表
参数
参数值
数据库名
考勤管理
数据文件逻辑文件名称
考勤管理_data
数据文件物理文件名称
D:
\考勤管理\考勤管理_data.mdf
数据文件初始大小
5MB
数据文件最大大小
500MB
数据文件增长幅度
20%
日志文件逻辑文件名称
考勤管理_log
日志文件物理文件名称
D:
\考勤管理\考勤管理_log.ldf
日志文件逻辑文件初始大小
5MB
日志文件逻辑文件最大大小
无限增长
日志文件逻辑文件增长幅度
10%
2.修改数据库
按下列要求修改数据库。
1)添加一个初始大小为3MB的次数据文件,参数见表2所示。
表2次数据文件参数列表
参数
参数值
次数据文件逻辑文件名称
考勤管理_data1
次数据文件物理文件名称
D:
\考勤管理\考勤管理_data1.mdf
次数据文件初始大小
3MB
次数据文件最大大小
无限增长
次数据文件增长幅度
10%
2)修改恢复模式为“完整”。
3)启用“自动关闭”。
4)启用“自动收缩”。
3.创建数据表
1)采用如表3所示参数创建“部门信息”表。
表3部门信息
列名
数据类型
可否为空
部门编号
char(10)
notnull
部门名称
char(20)
notnull
部门主管
char(10)
null
部门人数
smallint
null
2)采用如表4所示参数创建表“员工信息”。
表4员工信息
列名
数据类型
可否为空
员工编号
char(10)
notnull
员工姓名
char(10)
notnull
部门编号
char(10)
null
性别
char
(2)
null
出生日期
datetime
null
籍贯
char(10)
null
住址
char(40)
null
联系电话
char(20)
null
基本工资
money
null
身份证号码
char(18)
null
3)采用如表5所示参数创建表“考勤信息”。
表5考勤信息
列名
数据类型
可否为空
员工编号
char(10)
notnull
部门编号
char(10)
null
年度
char(10)
null
月份
char(10)
null
当月天数
tinyint
null
全勤天数
tinyint
null
病假天数
tinyint
null
事假天数
tinyint
null
矿工天数
tinyint
null
调休天数
tinyint
null
迟到天数
tinyint
null
早退天数
tinyint
null
出差天数
tinyint
null
延时加班天数
tinyint
null
休息日加班天数
tinyint
null
4)采用如表6所示参数创建表“工资信息”。
表6工资信息
列名
数据类型
可否为空
员工编号
char(10)
notnull
部门编号
char(10)
null
年度
char(10)
null
月份
char(10)
null
基本工资
money
null
本月奖金
money
null
加班费
money
null
病假扣款
money
null
事假扣款
money
null
旷工扣款
money
null
违纪扣款
money
null
差旅补助
money
null
基本医疗代扣
money
null
住房公积金代扣
money
null
医药费报销
money
null
实发工资
money
null
4.创建约束条件
1)分析各表结构,合理创建主键约束。
2)分析各字段特点,合理创建唯一约束。
3)分析各表结构及各字段特点,合理创建外键约束。
4)分析各字段特点,合理创建检查约束。
5)分析各字段特点,合理创建默认值约束。
5.创建规则与默认值
1)分析各字段特点,合理创建规则并绑定。
2)分析各字段特点,合理创建默认值并绑定。
6.添加数据并验证约束
自选方法分别向各个表中插入若干条记录,并验证约束。
7.创建查询
1)查询出所有员工的身份证号码、姓名和年龄。
2)查询出所有男性员工的信息。
3)查询出基本工资在2000元-3500元之间的员工的姓名和部门名称。
4)查询年龄在40岁以上的员工的工资信息。
5)查询出“市场部”部门的所有员工的考勤信息。
6)查询出“研发部”部门本月有迟到记录的员工编号和姓名。
7)查询出上月迟到天数最多的员工的编号、姓名和部门名称。
8)查询出本月加班天数最多的部门名称和部门主管。
9)查询各部门全勤天数最多的员工的名称、部门名称和全勤天数。
10)查询“研发部”部门的最高基本工资、最低基本工资及平均基本工资。
11)查询部门人数超过部门平均人数的部门编号和部门名称。
12)查询“市场部”部门的所有女性员工的姓名、身份证号码及基本工资。
13)查询本年度实发工资累计最少的十位员工的编号、部门名称和实发工资累计。
14)查询上个月奖金最高的员工所在部门的其它员工的编号和奖金。
15)查询上个月全勤天数最多的员工的姓名、基本工资、奖金和实发工资。
8.创建视图
1)创建以部门排序的员工通讯清单视图,要求显示“部门名称”、“员工姓名”、“住址”和“联系电话”信息。
2)创建女性职工统计视图,要求显示“部门名称”和“员工姓名”信息。
3)创建职工年龄统计视图,要求显示“部门名称”、“员工姓名”和“年龄”信息。
4)修改年龄统计视图,要求显示“部门名称”、“员工姓名”和“职工生日”信息。
以“V_职工生日”为视图名保存。
5)创建以部门为单位的员工工资汇总视图,要求显示“部门名称”和“工资总额”信息。
6)创建职工出勤统计视图,要求包括“员工编号”、“员工姓名”、“部门名称”、“年度”、“月份”、“病假天数”、“事假天数”、“矿工天数”、“调休天数”、“迟到天数”、“早退天数”、“出差天数”、“延时加班天数”和“休息日加班天数”信息。
7)利用年龄统计视图和职工生日视图创建职工年龄与生日统计视图,要求显示“员工姓名”、“部门名称”、“年龄”和“职工生日”信息。
以“V_年龄与生日”为视图名保存。
8)利用“V_年龄与生日”视图和员工信息表,创建视图,要求显示“部门名称”、“员工姓名”、“职工生日”、“住址”和“联系电话”信息。
9.创建索引
1)在“员工信息”表中创建基于“联系电话”的非聚集索引“ix_联系电话”。
2)查看“员工信息”表中的索引并重新组织索引。
10.使用存储过程
1)创建名为“pr_workinf”的存储过程,用于检索所有员工当年中各个月份的全勤天数,要求显示“员工编号”、“姓名”、“月份”和“全勤天数”。
2)修改“pr_workinf”存储过程代码,用于检索所有员工当年中各个月份的全勤天数和实发工资,要求显示“员工编号”、“姓名”、“月份”、“全勤天数”和“实发工资”。
各个信息按照员工编号相同、月份和年度相同等条件关联。
3)使用“sp_help”、“sp_helptext”和“sp_depends”查看存储过程“pr_workinf”。
4)修改“pr_workinf”存储过程代码,能够检索任一员工当年中任意月份平均出勤日工资。
平均出勤日工资应该是员工该月的实发工资除以全勤天数。
需要定义二个输入参数,分别对应员工编号、月份,定义一个输出参数,返回平均出勤日工资。
5)查看“pr_workinf”存储过程的属性。
6)定义一个变量存储“pr_workinf”存储过程的输出参数,带参数执行存储过程,显示查询结果。
11.创建触发器
1)在考勤管理数据库的部门信息表上编写一个触发器“depart_trigger”,当在部门信息表中删除一个记录时,将触发该触发器。
在触发器中需要判断该部门是否还有员工?
如果有员工信息,则取消删除操作,并将“无法删除”的信息返回用户。
2)在考勤管理数据库的人员信息表上编写一个触发器“person_trigger”,当向人员信息表中插入或修改一个记录时,激活触发器,检查记录的部门编号的值是否存在于部门信息中,若不存在,则取消插入或修改操作,并向用户提示“此部门不存在”信息。
12.修改触发器
修改触发器“depart_trigger”的定义,在删除时如果该部门中有员工,仍完成删除操作,只是向用户提示“该部门中还有员工信息”。
13.创建登录帐户
1)使用对象资源管理器创建通过Wi