2012_VFP期末考试复习答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2011-2012(2)VFP期末考试复习范围一、基本概念1、数据库、数据库管理系统及数据库系统的概念分别是什么?数据库:存储在计算机存储设备上的、结构化的相关数据的集合。数据库管理系统:数据库系统中对数据进行管理的软件系统,它是数据库的核心。数据库系统:引入数据库技术以数据库应用为基础的计算机系统。2、VFP标识符命名规则是什么?(1)语法格式:命令名[短语1][短语2]…[短语n](2)书写规则:1.每个命令必须以一个命令名开始,命令名中各短语顺序可调换。2.命令行中各个词之间至少应以一个空格隔开。3.命令中英文字母可以用大写、小写或大小写混写。4.命令中的单词可以用其前的4个或4个以上字符缩写表示。5.一条命令的长度可达254个字符,若一行写不下,可以在适当位置使用续行符“;”并回车,然后在下一行继续键入该命令的剩余部分。6.一行只能写一条命令,每条命令的结束标志是回车键。4、VFP内存变量的类型及其作用域。局部变量LOCAL私有变量PRIVATE公共变量PUBLIC5、规范化的二维表必须满足哪些条件?元组个数有限性、元组的唯一性、元组的次序无关性、元组分量的原子性、属性名唯一性、属性的次序无关性、分量值域的统一性。6、逻辑删除和物理删除的异同。如何逻辑删除和物理删除VFP数据表中的记录?逻辑删除是标记要删除的记录是给要删除的记录添加一个删除标记,并不是真正从磁盘上删除。命令是DELETE。物理删除是将添加了删除标记的记录从磁盘上彻底删除。命令是PACK、ZAP(彻底删除当前表文件中全部记录,保留表结构。)7、索引有几种类型?分别具有什么特点?主索引:是不允许索引表达式的值出现重复的索引,每一张表只能建立一个主索引,只有数据库表才能建立主索引。候选索引:是不允许索引表达式的值出现重复的索引,数据库表和自由表都可以建立,一张表可以建立多个候选索引。普通索引:是允许索引表达式的值出现重复的索引,数据库表和自由表都可以建立,一张表可以建立多个普通索引。唯一索引:是允许索引表达式的值出现重复的索引,但是在索引文件中保留第一次出现的索引表达式的值。8、参照完整性设置的一般要求是什么?(怎样建立VFP数据表一对多的永久关系?)1.子表中的每一个记录在对应的主表中必须有一个父记录2.在子表中插入记录时,其外部关键字必须是父表主关键字值中的一个。3.在父表中删除记录时,与该表记录相关的子表中的记录必须全部删除。索引的类型决定了要创建的永久关系的类型。在一对多关系中,主表必须用主索引或用候选索引,而子表以主表的主关键字作为该表的外部关键字建立普通索引;在一对一关系中,主表必须用主索引或候选索引,而子表与主表相同的关键字建立主索引或候选索引。9、简述视图与查询的概念、区别。查询:从指定的一个或多个数据表或视图中筛选出满足条件的数据,并可以对筛选出的数据按照指定的排序顺序和分组方式进行输出,其输出结果也可以有不同的显示和输出方式视图:视图是虚拟表,只在数据库中定义,其内容是从指定的一个或多个本地数据表,其他视图或存放在服务器上的数据表中筛选出来的满足给定条件的数据。区别:1.视图中的数据可更新,并且可以同时更新数据源中的数据;而查询结果中的数据是只读的。2.视图不是一个独立的文件,没有扩展名,它仅是数据库中的一个组成部分;而查询是一个扩展名为.qpr的独立文件,它不从属于任何数据库3.视图既可以访问本地数据,也可以访问远程数据;而查询不能访问远程数据4.视图只有在所属的数据库被打开时才能使用;而查询文件可以直接使用5视图可以作为数据源被引用;而查询只能在运行时一次获得结果并输出,不能作为数据源被引用。6.视图只能当数据表使用;而查询有多种去向,如临时表,表,图形,报表,标签等形式10、SELECT-SQL命令中HAVING子句的作用是什么?参数having既可以实现对分组结果的筛选,又可以实现对表中字段的条件筛选。11、什么是程序?程序的基本结构有哪些?什么是用户自定义函数?用户自定义函数的使用包括哪几种形式?如何实现用户自定义函数的调用?1.程序是能够完成一定任务的命令的有序集合2.顺序结构,分支结构,循环结构3.根据实际需要自己定义和编写函数,叫做用户自定义函数4.用户自定义函数的使用分为两种形式,一种是直接写在主程序中的用户自定义函数,这种函数不是一个独立的程序文件,而是主程序的一个相对独立的程序段;另一个是独立的用户自定义函数,这种函数是一个独立的程序文件,文件名即为函数名5.函数名([参数表])12、.什么是面向对象程序设计?简述类、对象、属性、事件、方法的含义。1.面向对象程序设计的基本出发点是尽可能地按照人类认识世界的方法或思维方式来分析问题,解决问题,以“对象”作为最基本的元素,把系统需要分析和解决的问题转化为以“对象”为核心的设计实现过程类:将这组对象的共性特征概括抽象出来对象:对客观世界中一切事物的一种抽象属性:描述了对象的状态和特征,可以由确定的属性特征值来定义事件:可以由对象识别的一个动作或者对象能够响应的某种操作,可以编写相应的代码对此动作进行响应。方法:对象可以完成的一个操作13、设计一个VFP菜单通常包含哪些步骤?快捷菜单与普通菜单有什么不同?简述SDI菜单的创建过程。(1.)1.规划菜单系统2.创建菜单和子菜单3.指定各菜单项的任务4.预览菜单系统5.生成菜单程序6.运行菜单程序(2)普通菜单:一般情况下,普通菜单都随主程序一起运行,即应用的主窗口打开,菜单也就显示在窗口的菜单栏中,用于组织和控制整个应用系统的各个功能模块快捷菜单:附加在表单或表单控件上的通过鼠标右键访问和使用的一种菜单。在控件或对象上单击鼠标右键时,就会显示快捷方式菜单,能够快速展示当前控件和对象可用的功能。(3)创建sdi菜单,必须在设计菜单时指定该菜单用于sdi表单,除此之外,sdi菜单的创建过程和使用方法与创建和使用普通菜单完全相同二、分析下列程序,并写出运行结果。1.ACCEPTTOAIFA=[999]S=0ENDIFS=100?S运行结果是100。2.DIMEa(6)a(1)=1a(2)=1FORi=3TO6a(i)=a(i-1)+a(i-2)NEXT?a(6)运行结果是8。3fori=1to8i=i+1endfor?i运行结果是9。4.分析下列程序功能,并写出运行结果。clearstoreHappyBirthday!tozhufustr=space(0)dowhilelen(zhufu)0str=left(zhufu,1)+strzhufu=substr(zhufu,2)enddo?str程序功能:___将zhufu的值通过dowhile循环语句赋给str_______运行结果:__HappyBirthday!________三、SQL语句1.删除将xs表中nl(年龄)大于25岁的记录,其SQL语句是deletefromxswherenl25第2——6题共用如下三个数据库表:图书(索书号,书名,出版社,定价,ISBN)借书证(借书证号,姓名,性别,专业,所在单位)借书记录(借阅号,索书号,借书证号,借书日期,还书日期)其中:定价是货币型,借书日期和还书日期是日期型,其他是字符型。2.将“高教研究所”的所在单位字段值重设为“研究所”,SQL语句是update借书证set高教研究所=研究所where所在单位=高教研究所3.查询所有借阅过“人民邮电出版社”图书的读者的姓名和所在单位,SQL语句是select姓名,所在单位from借书证innerjoin借书记录innerjoin图书on图书.索书号=借书记录.索书号on借书记录.借书证号=借书证.借书证号where出版社=’人民邮电出版社’4.查询2012年被借过图书的书名、出版社和借书日期的SQL语句是select书名,出版社,借书日期from图书innerjoin借书记录on图书.索书号=借书记录.索书号whereyear(借书日期)=20125.从借书证表中删除借书证号为“20121001”的记录,SQL语句是deletefrom借书证where借书证号=’20121001’6.查询借书证上出版社为“清华大学出版社”的所有信息的SQL语句是select借书证.*from借书证innerjoin借书记录innerjoin图书on图书.索书号=借书记录.索书号on借书记录.借书证号=借书证.借书证号where出版社=’清华大学出版社’四、操作题1.已知数据库xueji中的教师(js)表中含有教师的出生日期(csrq)字段和教师所在的系代号(xdh)字段,系名(xim)表中含有系代号(xdh)和系名称(ximing)字段。基于xim表和js表查询各系教师的年龄结构。输出字段包括:js.xdh、xim.ximing、总人数、35岁以下人数、35岁以上人数(年龄用表达式YEAR(DATE())-YEAR(js.csrq)计算),查询结果按系代号降序排列,查询结果保存到文本文件teacher.txt。答:①在“字段”选项卡选取的字段有:js.xdh、xim.ximing、count(*)as总人数、sum(iif(YEAR(DATE())-YEAR(js.csrq)))=35,1,0)as35岁以下人数、sum(iif(YEAR(DATE())-YEAR(js.csrq)))35,1,0)as35岁以上人数②在“排序依据”选项卡需要的字段有:xim.xdh③在“分组依据”选项卡需要的字段有:xim.xdh④查询去向为文本文件teacher.txt⑤查询生成的SELECT-SQL语句为:Selectjs.xdh、xim.ximing、count(*)as总人数、sum(iif(YEAR(DATE())-YEAR(js.csrq)))=35,1,0)as35岁以下人数、sum(iif(YEAR(DATE())-YEAR(js.csrq)))35,1,0)as35岁以上人数fromjsinnerjoinximonjs.xdh=xim.xdhorderbyxim.xdhdescgroupbyxim.xdhtofileteacher2.已知在library的图书(TS)表中含有分类号(flh)、书名(sm)等字段,借阅(JY)表中含有分类号(flh)、借阅日期(jyrq)和还书日期(hsrq)等字段。按如下要求修改查询:基于TS表和JY表查询每本书的被借阅次数、借出总天数。输出字段包括:Ts.flh、Ts.sm、借阅次数、借出总天数,按借出总天数排序(借出总天数为.NULL.者不输出)。答:①在“字段”选项卡选取的字段有:Ts.flh、Ts.sm、count(*)as借阅次数、sum(hsrq-jyrq)as借出总天数②在“排序依据”选项卡需要的字段有:借出总天数③是否需要分组?如需要在“分组依据”选项卡需要的字段有:是。TS.flh④查询生成的SELECT-SQL语句为:SelectTs.flh、Ts.sm、count(*)as借阅次数、sum(hsrq-jyrq)as借出总天数fromTSinner;joinJYonTS.flh=JY.flhgroupbyTS.flhorderby借出总天数where借出总天数isnot.null.3.查询公选课酬金在SJK数据库中包含任课(GXK)表和教师(JS)表,其结构如下所示。JS.dbfGXK.dbf字段名类型宽度含义字段名类型宽度含义ghC5工号ghC5工号xmC8姓名kcdhC2课程代号xbC2性别kcmcC30课程名称xdhC20系代号xsN5学时假定公选课的上课酬金为每学时20元,利用查询设计器按如下要求创建查询:基于教师(JS)表和任课(GXK)表查询每位教师上公选课的总学时及酬金。要求输出字段为:gh、xm、xb、总学时、酬金,查询结果按gh的升序排序。①在“字段”选项卡选取的字段有:gh、xm、xb、sum(xs)as总学时、sum(xs)*20as酬金②在“排序依据”选项卡需要的字段有:JS.g

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功