第三章习题及答案.doc 6页

  • 100.50 KB
  • 2022-04-22 11:48:11 发布

第三章习题及答案.doc

  • 6页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'一、思考题1.什么是数据库表?什么是自由表?2.什么是表结构?表的哪几种字段的宽度是固定不变的?3.打开表文件之后,为什么在VisualFoxPro主窗口没有任何显示信息?4.如何编辑备注型字段的值?5.LIST命令和DISPLAY命令有什么区别?6.如果缺省范围子句,哪几条命令只对当前记录操作?7.ZAP命令和PACK命令有什么区别?8.什么是记录指针,它的作用是什么?9.什么是排序和索引?为什么索引的查询效率高?10.VisualFoxPro有几种类型的索引?是否所有的索引都可以在自由表中使用?在表设计器中可以创建的索引文件是哪一种?11.什么是主控索引文件和主控索引标识?它们的作用是什么?12.LOCATE、FIND、SEEK命令在使用上有什么区别?怎么判断查询是否成功?二、选择题1.某表文件有5个字段,其中3个字符型宽度分别为6、12、和10,另外还有一个逻辑型字段和一个日期型字段,该数据库文件中每条记录的总字节数是。A)37    B)38     C)39     D)402.在表文件文件尾部增加一条空记录,应该使用命令。A)APPENDB)APPENDBLANKC)INSERT   D)INSERTBLANK3.设表文件及其索引文件已打开,为了确保指针定位在物理记录号为1的记录上,应该使用命令。A)GOTOP B)GOBOF()  C)SKIP1   D)GO14.设职工表文件已经打开,其中有工资字段,要把指针定位在第一个工资大于620元的记录上,应使用命令。A)FINDFOR工资>620     B)SEEK工资>620C)LOCATEFOR工资>620    D)FIND工资>6205.删除学生表中姓王的学生,应使用命令。A)DELETEFOR“王”$姓名B)DELETEFORSUBSTR(姓名,1,2)=“王”C)DELETEFOR姓名=王*D)DELETEFORRIGHT(姓名,1)=“王”6.USE职工LOCATEFOR工资=900为了将指针定位在下一个工资是900的记录上,应该接着使用命令。A)SKIP  B)CONTINUE    C)SEEK900   D)FIND9007.设当前表有10条记录,当EOF()为真时,命令?RECNO()的显示结果是。A)10B)11C)0D)空8.设当前表中姓名字段为字符型,要把内存变量NAME字符串的内容输入到当前记录的姓名字段,应当使用命令。A)姓名=NAMEB)REPLACE姓名WITHNAMEC)REPLACE姓名WITH&NAMED)REPLACEALL姓名WITHNAME9.在VisualFoxPro中,打开索引文件的命令中,错误的是。6 A)USE<库文件名>INDEXTO<索引文件名>B)USE<库文件名>INDEX<索引文件名>C)INDEXON职工号TO<索引文件名>D)SETINDEXTO<索引文件名>10.顺序执行下面命令之后,屏幕所显示的记录号顺序是。USEXYZGO6LISTNEXT4A)1~4B)4~7C)6~9D)7~1011.在VisualFoxPro中,可以使用FOUND()函数来检测查询是否成功的命令包括。A)LIST、FIND、SEEKB)FIND、SEEK、LOCATEC)FIND、DISPLAY、SEEKD)LIST、SEEK、LOCATE三、上机题1.建立表与复制表操作:(1)建立一个职工表(zg.dbf),字段有:职工号(C,6),姓名(C,8),性别(L),出生日期(D),职称(C,10),基本工资(N,8,2),奖金(N,8,2),实发工资(N,8,2),其内容如下:(2)修改职工表表结构,在实发工资前增加一个新的字段,扣款(N,8,2)。(3)将zg.dbf的表结构复制到新表zg1.dbf中。(4)将zg.dbf中的所有男教师的记录都复制到zg2.dbf中。2.写出下列显示表记录的命令。(1)显示zg.dbf中所有的讲师(2)显示所有女教师的姓名(3)显示70年后出生的教师(4)显示第三条记录的内容(5)显示前三条男教师的姓名,出生日期,职称(6)从第3条记录开始显示到末尾记录(7)显示所有男教授的姓名、年龄、基本工资(8)显示所有男性教授或副教授(9)显示所有姓林的教师6 (10)显示姓名中有“林”字的记录。3.修改命令。(1)计算实发工资字段的值,实发工资=基本工资+津贴-扣款。(2)在实发工资为0的情况下,分别执行下列三条命令,比较它们的执行结果。Repl实发工资with基本工资+津贴-扣款Repl实发工资with基本工资+津贴-扣款 for职称="讲师"Replall实发工资with基本工资+津贴-扣款4.完成下列删除与恢复的命令。(1)删除所有男教师的记录(2)在删除所有男教师的记录的前提下,除姓“林”的外,恢复所有男教师的记录(3)在删除所有男教师的记录的前提下,除姓“陈”的助讲外,恢复所有男教师的记录5.对zg.dbf完成下排序、索引命令。(1)按基本工资降序建立排序文件szg1.dbf(2)按基本工资建立单项索引,文件名为izg1.idx(3)按基本工资建立结构复合索引文件,按降序索引(4)按基本工资建立独立复合索引文件,索引标识为jbgz,按降序索引,文件名为zgd1.cdx(5)按基本工资升序,基本工资相同再按出生年月建立索引文件,文件名为zgd2.cdx(6)分别按姓名、职称、出生日期建立结构复合索引文件,索引标识分别为XM、ZC、BIRTHDAY。(7)打开前面所建的所有索引文件,设置结构复合索引文件为主控索引文件,设置XM为主控索引。6.查找与统计。(1)查找林一凡(2)查找姓王的人(3)查找工资是820.00的记录(4)查找职工号为3002姓名为丁强的记录(5)查找66年8月4日出生,职称为副教授的记录(6)统计男教师与女教师的人数(7)统计女教师的实发工资、津贴总和(8)求男教师的平均基本工资(9)计算平均基本工资、平均津贴、最高基本工资和最少基本工资(10)按职称进行基本工资的汇总,汇总结果写入表zchz.dbf6 参考答案二、选择题1、B2、B3、D4、C5、B6、B7、B8、B9、A10、C11、B三、上机题1.建立表与复制表操作:(1)用表设计器建立表zg.dbf,步骤详见4.1.2建立表结构。(2)修改zg.dbf表结构,步骤详见4.2.1表结构的修改。(3)将zg.dbf的表结构复制到新表zg1.dbf中。USEZGCOPYSTRUTOZG1(4)将zg.dbf中的所有男教师的记录都复制到zg2.dbf中。USE ZGCOPY TO ZG2 FOR 性别2.写出下列显示表记录的命令。(1)显示zg.dbf中所有的讲师USE ZGLIST FOR 职称=“讲师”(2)显示所有女教师的姓名LIST姓名FOR性别=.F.(或LIST姓名FOR!性别)(3)显示70年后出生的教师LISTFOR出生日期>{^1970/01/01} 或 LISTFORYEAR(出生日期)>1970(4)显示第三条记录的内容  LISTRECO3(5)显示前三条男教师的姓名,出生日期,职称  GOTOPLISTNEXT3FOR性别FIELDS姓名,出生日期,职称(6)从第3条记录开始显示到末尾记录GO3LISTREST(7)显示所有男教授的姓名、年龄、基本工资  LIST姓名,年龄,基本工资FOR性别AND职称="教授"(8)显示所有男性教授或副教授LISTFOR性别AND(职称="教授"OR职称="副教授")(9)显示所有姓林的教师命令一:LISTFORLEFT(姓名,2)="林"命令二:LISTFORSUBSTR(姓名,1,2)="林"6 命令三:LISTFOR姓名="林"(10)显示姓名中有“林”字的记录。LISTFOR"林"$姓名3.修改命令(1)计算实发工资字段的值,实发工资=基本工资+津贴-扣款。  REPL ALL 实发工资 WITH 基本工资+津贴-扣款(2)在实发工资为0的情况下,分别执行下列三条命令,比较它们的执行结果。REPL实发工资WITH基本工资+津贴-扣款REPL实发工资WITH基本工资+津贴-扣款 FOR职称="讲师"REPLALL实发工资WITH基本工资+津贴-扣款4.完成下列删除与恢复的命令(1)删除所有男教师的记录DELEFOR性别(2)在删除所有男教师的记录的前提下,除姓“林”的外,恢复所有男教师的记录  RECAFOR!(SUBSTR(姓名,1,2)="林")(3)在删除所有男教师的记录的前提下,除姓“陈”的助讲外,恢复所有男教师的记录  RECAFOR!(SUBSTR(姓名,1,2)="陈"AND职称="助教")5.对zg.dbf完成下排序、索引命令(1)按基本工资降序建立排序文件szg1.dbfSORTON基本工资/DTOSZG1(2)按基本工资降序建立单项索引,文件名为izg1.idxINDEXON-基本工资TOIZG1(3)按基本工资建立结构复合索引文件,按降序索引INDEXON基本工资TAGGZDESC(4)按基本工资建立独立复合索引文件的降序,索引标识为jbgz,文件名为zgd1.cdxINDEXON基本工资DESCTAGJBGZOFZGD1(5)按基本工资升序,基本工资相同再按出生年月建立索引文件,文件名为zgd2.cdxUSEZGINDEXONSTR(基本工资,6,2)+DTOC(出生日期)TAGGZCSOFZGD2(6)分别按姓名、职称、出生日期建立结构复合索引文件,索引标识分别为XM、ZC、BIRTHDAY。USEZG1INDEXON姓名TAGXMINDEXON职称TAGZCINDEXON出生日期TAGBIRTHDAY(7)打开前面所建的所有索引文件,设置结构复合索引文件为主控索引文件,设置XM为主控索引。6 SETINDEXTOIZG1,ZGD1,ZGD2ORDERTAGXM或SETINDEXTOIZG1,ZGD1,ZGD2SETORDERTOTAGXM6.查找与统计(1)查找林一凡USEZGSETINDEXTOXMFIND林一凡SEEK"林一凡"(2)查找姓王的人  FIND王SEEK"王"(3)查找工资是820.00的记录INDEXON基本工资TAGSALARYFIND820或SEEK820(4)查找职工号为3002叫丁强的记录INDEXON职工号+姓名TAGGHXMFIND3002丁强 或 SEEK"3002"+"丁强"(5)查找66年8月4日出生的副教授  INDEXONDTOC(出生日期)+职称TOBZCSEEK"08/04/66"+"副教授"(6)统计男教师与女教师的人数COUNTFOR性别TOX1COUNTFOR!性别TOX2(7)统计女教师的实发工资、津贴总和SUM实发工资,津贴FOR!性别TOY1,Y2(8)求男教师的平均基本工资  AVERAGE基本工资FOR性别(9)计算平均基本工资、平均津贴、最高基本工资和最少基本工资CALCAVG(基本工资),AVG(奖金),MAX(基本工资),MIN(基本工资)(10)按职称进行基本工资的汇总,汇总结果写入表zchz.dbfSETORDERTOTAGZCTOTALON职称TOZCHZFIELDS基本工资USEZCHZLIST注意:在zchz.dbf中只有4条记录。6'