数据库作业本答案.docx
- 文档编号:24049244
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:19
- 大小:22.32KB
数据库作业本答案.docx
《数据库作业本答案.docx》由会员分享,可在线阅读,更多相关《数据库作业本答案.docx(19页珍藏版)》请在冰豆网上搜索。
数据库作业本答案
第一章数据库基础
一、选择题1-5BABBC6-10DBCDB
11-15ACDCB16-17DA
二、判断题1-5对对对对对6-7对对
第三章VISUALFOXPRO6.0程序设计语言基础
一、选择题1-5CABDC6-10ACAAB
11-15CBDDC16-20DADAD
21-25CDBAD26-30ADCBC
31-35ACCDB36-40ACDDB
41-45ACCDD46-50ABBDD
二、判断题1-5错错错错对6-10错错错对对
11-15错错错对对16-20错对对对对21-25对错错错
第四章VISUALFOXPRO数据库及其操作
一、选择题1-5BBDAD6-10AACCB11-15ACCCA
16-20DDBDB21-25BCBCA26-30CDAAC
31-35AABBD36-40CCBAB41-45BADCD
二、判断题1-5错错错错错6-10对对对错错11-15错对错对对
16-20错错对对对21-25错对错对对26-30错对错对错
31-35对错对错错36-40对对错对错41-45错错对错对
46-50错错错对错51-55错错错对错56-60对对错对错
61-65错对对错错66-68对对错
第五章结构化程序设计
一、选择题1-5ABBCA6-10DDCBC11-15BBCCA
16-20DDDCA21-25DBCAC26-30CDABB
二、判断题1-5对对对对错6-10错对对错错11-13错错错
三、程序填空题1、NOTEOF()
DOCASE
LEFT(编号,1)=”b”
OTHERWISE
2、.F.
M=总成绩
N
.T.
四、读程序写结果
1、.F..T.
2、赵丹22
邹刚23
3、100202-1
4、9944
5、69
129
五、程序改错
1.『答案』:
LOCATEFOR奖学金>60
?
"姓名="+姓名,"奖学金="+STR(奖学金,4,1)
ENDDO
2.『答案』:
IF系别="法律".OR.系别="中文"
IFEOF()
3.『答案』:
LOCATEFOR姓名="赵红"
DISP姓名,工资
4.『答案』:
IFEOF()
工资,职称
5.『答案』:
ACCEPT"请输入要查找的学号"TOXH
LOCATEFOR学号=XH或
ENDDO
6.『答案』:
COPYTOXS1
LOCATEALLFOR入学成绩>=550
CONTINUE
7.『答案』:
USE&A
SKIP-1
SKIP
8.『答案』:
N=0
DISPLAY
?
"记录个数是",N
六、程序设计
1题
---------------------
usersda
store0tos
locatefor职称="工程师"
dowhilenoteof()
s=s+1
continue
enddo
?
"共有工程师"+str(s,3)+"名"
use
Y=S
-----------------
2题
----------------------
sele1
dowhile.not.eof()
ifmod(编号,3)=1
scattertoarry
sele2
appeblan
gatherfromarry
endif
sele1
skip
endd
----------------------
3题
----------------------
SELE1
USESTUDENT
SELE2
USESTUDY
SELE1
JOINWITHSTUDYTOSGFOR学号=STUDY.学号.AND.姓名="刘一"FIELDS学号,姓名,STUDY.课程号,STUDY.成绩
SELE3
USESG
LIST
----------------------
4题
----------------------
USESTUDENT
DOWHILE.NOT.EOF()
IF笔试>=80.AND.上机>=80
REPL等级WITH"优秀"
ENDIF
SKIP
ENDD
LIST
----------------------
5题
----------------------
use工资表
indeon性别tosy
totalon性别to汇总.dbffields工资
use汇总
list
----------------------
6题
----------------------
SELE1
USEXK
SELE2
USEKC
JOINWITHXKTOXK1FIELDSA.学号,课程号,课程名称,课程类型FOR课程号=A.课程号.AND.课程类型="选修"
SELE3
USEXK1
SELE4
USESTUDENT
JOINWITHXK1TOSTUDENT1FIELDS学号,姓名,C.课程号,C.课程名称,C.课程类型FOR学号=C.学号
SELE5
USESTUDENT1
LIST
----------------------
第6章查询与视图
一、选择题1-5DDCAA6-10DCADD11-15ABDAA16-19AADC
二、判断题1-5错错错对对6对
第7章结构化查询语言
一、选择题1-5BCDCC6-10CBBBA11-15ABCAD16-20DCDAD
二、上机实验
1.altertable银行账户表add账户类型c(4)
altertable账户变动表add商品编号c(10)
2.insertinto银行账户表values("00003","农大数码店",8000,"商家")
3.update银行账户表set账户类型="顾客"where账户名="佳佳"
update银行账户表set账户类型="商家"where账户名="晓婷数码专营"
4.altertable银行账户表alter账户类型c(4)setcheck账户类型="顾客"or账户类型="商家"
5.deletefrom库存表where商品名称="220V电源线"
recallall
第8章表单设计与应用
一、选择题1-5CDDDD6-10DBCCC11-15ACCDA16-20CBBAA
21-25BABCC26-30BBADA31-35DAAAA
二、判断题1-5对对错对错6-10错对错对错
三、表单设计(4题以后为考试重点)
1、上一个:
IFNOTBOF(0
SKIP-1
ENDIF
下一个
IFNOTEOF(0
SKIP1
ENDIF
添加:
APPENDBLANK
删除:
DELETE
关闭:
THISFORM.RELEASE
2、IFTHISFORM.CHECK1.VALUE=1
THISFORM.SHAPE1.CURVATURE=99
ENDIF
IFTHISFORM.CHECK2.VALUE=1
THISFORM.SHAPE1.CURVATURE=0
ENDIF
3、DOCASE
CASETHISFORM.OPTIONGROUP1.VALUE=1
THISFOMR.TEXT3.VALUE=THISFOMR.TEXT1.VALUE+THISFOMR.TEXT2.VALUE
CASETHISFORM.OPTIONGROUP1.VALUE=2
THISFOMR.TEXT3.VALUE=THISFOMR.TEXT1.VALUE-THISFOMR.TEXT2.VALUE
CASETHISFORM.OPTIONGROUP1.VALUE=3
THISFOMR.TEXT3.VALUE=THISFOMR.TEXT1.VALUE*THISFOMR.TEXT2.VALUE
CASETHISFORM.OPTIONGROUP1.VALUE=4
THISFOMR.TEXT3.VALUE=THISFOMR.TEXT1.VALUE/THISFOMR.TEXT2.VALUE
ENDCASE
四、上机实验
1.PublicFlag
username=thisform.text1.value
password=thisform.text2.value
docase
caseusername="佳佳"andpassword="123"
Flag=1
doformgouwu
caseusername="晓婷数码专营"andpassword="456"
Flag=2
doformshangjia
caseusername="农大数码店"andpassword="789"
?
"对不起,此店尚未开业"
otherwise
?
"对不起,密码不正确"
endcase
2.sele库存表
gouwu1=商品编号
danjia=单价
update银行账户表set金额=金额-danjiawhereallt(账户编号)="00001"
update银行账户表set金额=金额+danjiawhereallt(账户编号)="00002"
insertinto账户变动表values("00001","付款",-danjia,date(),gouwu1)
insertinto账户变动表values("00002","收款",danjia,date(),gouwu1)
?
"交易成功"
3.“发货”代码
sele账户变动表
if变动类型="收款"andnotempty(商品编号)
spbh=商品编号
replace变动类型with"发货"
update库存表set库存量=库存量-1where商品编号=spbh
?
"发货成功"
else
?
"此记录无需发货"
Endif
第9章报表和菜单
一、选择题1-5ABAAC6-10BBCCA11-15CADCC16-20DDDBC
二、判断题1-4错对错错
三、上机实验
3.登录
doformlogin
购物
ifvartype(flag)="U"
messagebox("请先登录")
doformlogin
else
ifflag=1
doformgouwu
else
messagebox("请先登录")
doformlogin
endif
endif
商家管理
ifvartype(flag)="U"
messagebox("请先登录")
doformlogin
else
ifflag=2
doformshangjia
else
messagebox("请先登录")
doformlogin
endif
endif
退出
setsysmenutodefault
数据库与面向对象编程案例
案例1答案:
1-6.单击常用工具栏中的"新建"按钮,打开新建对话框,选择"数据库",单击"新建文件"按钮,打开"创建"对话框,输入数据库文件名"CDB",单击"保存"按钮,即完成创建数据库;在"数据库设计器"窗口中单击鼠标右键,在弹出的快捷菜单中选择"添加表……",依次添加CUST、ORDER、COMM三个表。
在表CUST中单击鼠标右键,在弹出的快捷菜单中选择"修改",打开表设计器,选择"索引"选项卡,索引名输入"顾客号",索引表达式选择"顾客号",索引类型选择为"主索引"后,单击"确定"按钮保存修改,完成建立CUST表的主索引,按同样方式建立另外两表的索引。
将鼠标指向表CUST的主索引"顾客号",按下鼠标左键不放,拖拽鼠标至ORDER表的顾客号索引处,松开鼠标即完成创建CUST与ORDER之间的永久性联系;再按同样方法建立表COMM与ORDER之间的永久性联系;然后选择"数据库"菜单下的"清理数据库"选项,再选择"编辑参照完整性规则"菜单,按题目要求设置。
7.CREATETABLE销售明细表(顺序号C(6)PRIMARYKEY,日期D,;
商品号C(6),商品名C(10),金额N(10,2))
8.步骤1:
单击常用工具栏中的"新建"按钮,文件类型选择"表单",利用向导创建表单。
步骤2:
在"向导选取"对话框中,选择"一对多表单向导"并单击"确定"按钮,并显示"一对多表单向导"对话框。
步骤3:
在"一对多表单向导"对话框的"步骤1-从父表中选定字段"中,首先要选取表"CUST",在"数据库和表"列表框中,选择表"CUST",接着在"可用字段"列表框中显示表CUST的所有字段名,并选定所有字段名,再单击"下一步"按钮。
步骤4:
在"一对多表单向导"对话框的"步骤2-从子表中选定字段"中,选取表"ORDER",在"数据库和表"列表框中,选择表"ORDER",接着在"可用字段"列表框中显示表ORDER的所有字段名,并选定所有字段名,再单击"下一步"按钮。
步骤5:
在"一对多表单向导"对话框的"步骤3-建立表之间的关系"中,再单击"下一步"按钮。
步骤6:
在"一对多表单向导"对话框的"步骤4-选择表单样式"中,在"样式"中选择"阴影式",在"按钮类型"中选择"图片按钮",再单击"下一步"按钮。
步骤7:
在"一对多表单向导"对话框的"步骤5-排序次序"中,选定"顾客号"字段并选择"升序",再单击"添加"按钮,再单击"下一步"按钮。
步骤8:
在"一对多表单向导"对话框的"步骤6-完成"中,在"请输入表单标题"文本框中输入"顾客订购商品维护",再单击"完成"。
步骤9:
在"另存为"对话框中,输入保存表单名"ONE",再单击"保存"按钮,最后表单就生成了。
9-14.步骤1:
新建表单,保存表单文件名为TWO。
步骤2:
修改表单的CAPTION属性为"查询",AUTOCENTER为.T.。
步骤3:
在表单中单击右键,选择"数据环境",依次添加表ORDER、CUST和COMM。
步骤4:
按题中图示添加一个标签、一个文本框和两个表格及两个命令按钮,并设置标签及两个命令按钮的CAPTION属性值,两个表格的RECORDSOURCETYPE属性为4-SQL说明。
步骤5:
在查询按钮的单击事件中输入下列程序代码:
SELECTCUST.顾客号,顾客名,地址,ORDER.商品号,商品名,单价,数量,单价*数量AS金额FROMCOMM,CUST,ORDER;
WHERECOMM.商品号=ORDER.商品号ANDCUST.顾客号=ORDER.顾客号ANDCUST.顾客号=THISFORM.TEXT1.VALUE;
INTOCURSORLSB
SELECTDIST顾客号,顾客名,地址FROMLSBINTODBFTABB
SELECT商品号,商品名,单价,数量,金额FROMLSBINTODBFTABC
THISFORM.GRID1.RECORDSOURCE="SELE*FROMTABBINTOCURSORA"
THISFORM.GRID2.RECORDSOURCE="SELE*FROMTABCINTOCURSORB"
步骤6:
在退出按钮的单击事件中输入:
THISFORM.RELEASE
步骤7:
按题目要求输入顾客号:
010003,运行并保存程序。
案例2答案:
1-2.点击“文件”菜单,选择“打开”,在弹出的窗口中,“文件类型”列表选择“数据库”,并选中最下方的“独占”复选框,点击“确定”按钮;在打开的数据库设计器中,右键点击“TEMP”表的图标,选择“删除”,并在弹出的对话框中再次选择“删除”;右键点击“数据库设计器”中的空白位置,在弹出的菜单中选择“添加表”,将各表依次加入即可。
3-4.右键点击数据库设计器中“课程表”和“教师表”的图标,选择修改,在第一个选项卡“字段”中选择“课程号”字段后方的“索引”下拉列表,对于没有要求排序方式的索引,设置升序和降序都可以,之后在第二个选项卡“索引”中进行索引类型设置,完成后点击确定;用鼠标左键点击课程表中的“课程号”索引标识(带有小钥匙标志),按住鼠标左键拖放至教师表的“课程号”索引标识上,会出现连接的线段,表示在表间建立了一对多的关系。
6.SELE*FROM教师表WHERE工资>4500ORDERBY职工号TOFILEONE
7.程序如下:
USE教师表
STORE0TOSUM
DOWHIELNOTEOF()
SUM=SUM+工资
SKIP
ENDDO
?
SUM
11-12.步骤1:
打开COLLEGE数据库,单击工具栏中的"新建"按钮,新建一个视图,并将"课程表"、"学院表"和"教师表"3个表添加到视图设计器中。
步骤2:
在"字段"选项卡将字段"教师表.姓名"、"课程表.课程名"、"课程表.学时"和"学院表.系名"添加到"选定字段"。
步骤3:
在"筛选"选项卡中,选择字段"课程表.学时",条件为">=",在实例中输入"60"。
步骤4:
在"排序依据"选项卡中选择按"系名"升序、"姓名"降序排序。
步骤5:
保存视图名为COURSE_V。
步骤6:
单击工具栏中的"新建"按钮,新建一个查询,在"添加表或视图"对话框中选择COURSE_V视图,在字段中选择所有字段,设置查询去向为表"SEF"。
运行该查询。
13-18.步骤1:
打开COLLEGE数据库。
在命令窗口中输入"CREATEFORMONEFORM",按下回车键新建一个表单。
在表单上添加两个标签、一个选项组、一个组合框和两个命令按钮,并进行适当的布置和大小调整。
设置表单的NAME属性为ONEFORM,LABEL1的CAPTION属性为"系名",LABEL2的CAPTION属性为"计算内容",COMMAND1的CAPTION属性为"生成",COMMAND2的CAPTION属性为"退出",组合框的ROWSOURCETYPE属性为"6-字段",ROWSOURCE属性为"学院表.系名",两个选项按钮的CAPTION属性分别为"平均工资"和"总工资"。
步骤2:
右键单击表单空白处,选择"数据环境"命令,将"学院表"和"教师表"添加到数据环境设计器中"
双击命令按钮,编写两个命令按钮的CLICK事件代码。
******"生成"按钮的CLICK事件代码*******
X=THISFORM.COMBO1.VALUE
IFTHISFORM.OPTIONGROUP1.VALUE=1
SELECT学院表.系名,学院表.系号,AVG(教师表.工资)AS平均工资;
FROMCOLLEGE!
学院表INNERJOINCOLLEGE!
教师表;
ON学院表.系号=教师表.系号;
WHERE学院表.系名=X;
GROUPBY学院表.系号;
INTOTABLESALARY.DBF
ELSE
SELECT学院表.系名,学院表.系号,SUM(教师表.工资)AS总工资;
FROMCOLLEGE!
学院表INNERJOINCOLLEGE!
教师表;
ON学院表.系号=教师表.系号;
WHERE学院表.系名=X;
GROUPBY学院表.系号;
INTOTABLESALARY.DBF
ENDIF
*************************
******"退出"按钮的CLICK事件代码******
THISFORM.RELEASE
*************************
步骤3:
保存表单,并按题目要求运行。
案例3答案:
1-6
(1)步骤1:
单击常用工具栏中的"新建"按钮,打开"新建"对话框。
步骤2:
在"新建"对话框中,选择"项目"单选钮,再按"新建文件"按钮,弹出"创建"对话框。
步骤3:
在"创建"对话框中输入项目文件SDB_P,再按回车键或按"保存"按钮,这样就可以建立项目文件了,并出现"项目管理器"对话框。
步骤4:
在项目管理器中的"数据"选项卡中,选择"数据库",单击"新建"按钮。
步骤5:
在"新建数据库"对话框中,再单击"新建数据库"按钮。
步骤6:
在"创建"对话框中,选定考生文件夹,在"数据库名"处输入"SDB",然后单击"保存"命令按钮即可。
(2)步骤1:
单击常用工具栏中的"打开"按钮,选择"文件类型"为数据库,打开"SDB"。
步骤2:
在"数据库设计器-SDB"中单击鼠标右键,显示右击菜单,选择"添加表"命令,并选择相应的表文件即可(STUDENT和SC)。
(3)步骤1:
单击常用工具栏中的"打开"按钮,选择"文件类型"为数据库,打开"SDB"。
步骤2:
单击常用工具栏中的"新建"按钮,在"新建"对话框中选择"表"单选按钮,再单击"新建文件"按钮,在"创建"对话框中输入表名"COURSE",接着单击"保存"按钮。
步骤3:
在"表设计器-COURSE.DBF"中,依次按要求输入对应的字段名、类型和宽度,输入完成后单击"保存"按钮。
步骤4:
最后按要求输入所求的记录内容。
(4)在命令窗口输入下列语句。
ALTERTABLECOURSEADDPRIMARYKEY课程号TAGCNO
13-18.步骤1:
打开数据库SDB。
创建程序文件,在程序文件中输入下列语句。
CREATEVIEWSVIEWAS;
SELECTSC.学号,姓名,AVG(成绩)AS平均成绩,MIN(成绩)AS最低分,COUNT(课程号)AS选课数;
FROMSC,STUDENT;
WHERESC.学号=STUDENT.学号;
GROUPBYSTUDENT.学号;
HAVINGCOUNT(课程号)>3;
ORDERBY平均成绩DESC
保存程序文件名为T1.PRG,并运行。
步骤2:
单击常用工具栏中的"新建"按钮,文件类型选择"报表",利用向导创建报表。
步骤3:
在"向导选取"对话框中,选择"报表向导"并单击"确定"按钮,并显示"报表向导"对话框。
步骤4:
在"报表向导"对话框的"步骤1-字段选取"中,首先要选取视图"SVIEW",在"数据库和表"列表框中,选择视图"SVIEW",接着在"可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 作业本 答案