VFP程序设计复习提纲[chap01-chap04].doc_第1页
VFP程序设计复习提纲[chap01-chap04].doc_第2页
VFP程序设计复习提纲[chap01-chap04].doc_第3页
VFP程序设计复习提纲[chap01-chap04].doc_第4页
VFP程序设计复习提纲[chap01-chap04].doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11级VFP程序设计复习提纲一、chap01 数据库系统及Visual Foxpro概述(1.1-1.7,2.1-2.3)1.数据管理发展的三个阶段:人工管理、文件系统和数据库系统(解决冗余和数据独立性)2.数据库系统的组成:硬件、数据库、软件(数据库管理系统等)、用户(数据库管理员等)3.数据库系统的特点:数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可以供多个用户和应用程序共享。4.实现数据的独立性,DBS分为三级模式结构,即外部层、概念层和内部层。5.实体联系模型( E-R 模型)(1)基本概念:实体(矩形表示)、联系(菱形表示)、属性(椭圆表示)(2)联系类型:一对一(学校与校长)、一对多(班级与学生)、多对多(学生与课程)6.关系模型(用二维表表示实体集及其实体间联系的数据模型;)(1)性质:属性值必须取原子值;列或行都不重复;行和列顺序可以任意交换。(2)关键字:包括超关键字、候选关键字、主关键字、外部关键字。VFP环境中,关键字通过创建索引实现。(3)关系规范化要求:实际设计关系模式时,要求满足第三范式3NF。(4)关系运算:传统集合运算:并、交和差;专门的关系运算:选择、投影和联接(5)关系数据库设计主要包括概念结构设计、逻辑结构设计和物理结构设计。其中概念结构设计主要用ER实现;逻辑结构设计阶段主要工具是关系模式(ER图转换成关系模式)。(6)关系模型的完整性包括域完整性、实体完整性和参照完整性。7.数据字典除了定义外部实体、数据流、处理逻辑和数据存储以外,还需要对数据元素和数据结构进行定义。数据流图基本的符号包括外部实体、数据流、数据处理和数据存储四种。8.大型DBMS产品有Oracle、DB2、Sybase、MS-SQL Server;桌面DBMS产品有VFP和Access;微软生产产品:MS-SQL Server、VFP和Access;而Office办公软件(包括Word、Excel等)不是DBMS产品。9.常用命令(1)*:引导整行注释,放在行首;&:引导注释,放在其它命令的后面;(2)?:不换行显示表达式的内容;?:换行显示表达式的值(3)clear:清除主窗口中的信息;(4)quit:关闭所有文件,退出VFP环境。(5)设置默认目录(或当前目录):Set Default to 文件夹路径;cd 文件夹路径(6)设置日期格式:Set Date to AMERICAN(mm/dd/yy);Set Date to DMY(dd/mm/yy);Set Date to MDY(mm-dd-yy);Set Date to YMD(yy/mm/dd);Set Date to LONG(yyyy年mm月dd日)10.VFP文件类型(P35,表2-2VFP主要文件类型)11.项目管理器(1)设置主文件:把选定的程序、表单、查询或菜单指定为主文件,成为应用程序的“入口”程序;系统将第一个创建的程序、表单、查询或菜单作为默认主文件,项目中只能设置一个主文件。(2)一个文件可以同时属于不同的项目。二、Chap02VisualFoxPro语言基础(2.4)1.数据类型:表示种类+存储空间+取值范围字符型(C):1西文字符1B,1汉字2B,最多254B数值型(N): 宽度=整数位数+小数点+小数位数逻辑型(L):固定宽度1B日期型(D):固定宽度8B;表示范围0001-01-019999-12-31备注型(M):固定宽度4B通用型(G):固定宽度4B,处理图片、声音等整形(I):固定宽度4B;货币型(Y):固定宽度8B。2.常量和变量(数据存储容器)常量变量存储空间内容变化内容不变 字符型:,”, 内存变量:普通变量,存放一个数据 数值型:+2011.1012 系统变量:以下划线开头 逻辑型:.T.,.F. 字段:存放表中的数据 日期型:2011/05/01 数组:存放多个数据3.变量使用规则(1)赋值:把内容存放到内存的变量中 用store:把同一个内容存放到多个不同的变量中。如store 10 to a,b,c 用=:把某个内容存放到某个变量中。如a=10,b=20,c=30(2)取名: 只包含字母、汉字、数字和下划线; 数字不能开头; 避免使用下划线开头; 自由表字段名、索引名至多10个字符,其余名称长度是1-128个字符。(3)优先访问:变量名和字段名相同时,优先访问字段;用 m.+变量名访问内存变量;不能用=修改表中字段的内容;(4)作用域(影响范围)全局(Public)变量在命令窗口和多个程序之间都起作用;命令窗口中定义的变量默认是全局变量;局部(Local)变量和全局变量相同,优先访问Local变量;Local变量只在某一个程序内部起作用;私有(Private)变量在当前程序及子程序间都起作用。 程序窗口中定义的变量默认是私有变量。4.数组:可通过在内存中分配连续多个存储空间存放多个数据。(1)数组声明:DECLARE或DIMENSION 数组名元素数目;(2)数组声明之后,所有数组元素的默认值为逻辑值.F.(3)数组元素可为不同类型的数据;对数组名赋值,即所有数组元素皆为相同值。(4)二维数组可用一维方式访问和使用5.VFP系统函数如何学习函数(系统预先编制完成固定任务)函数名:完成功能(主要用途);参数:输入数据(数量和意义);返回值:输出结果(返回类型)(1)数值函数(*)MOD(参数1,参数2)函数:求余数,作用是可以判断两个数能否整除。商为整数;余数的符号与参数2相同参数符号相同时,余数的绝对值=两个参数相除的余数;参数符号不同时,余数的绝对值=|两个参数绝对值相除的余数-|参数2| |。RAND()函数:返回(0,1)之间的随机小数。(2)日期/时间函数(*)DOW()函数:返回指定日期在一周的第几天;cdow()函数:显示英文星期几(3)字符函数:(*)截除字符串空格函数:ltrim()、rtrim()或trim()、alltrim()计算字符串长度函数:LEN(),1个西文1B,1个长度;1个汉字2B,2个长度查看文本包含指定内容:计算指定内容出现位置:AT();计算指定内容出现次数:OCCURS()提取文本中的指定内容:SUBSTR(),万能提取函数;left(),从文本开头提取内容;right(),从文本末尾提取内容产生指定长度空格:SPACE()(4)数据类型转换函数(*) :类型不同,无法处理;转换一致,才可运算。ASC()函数 和CHR()函数功能:字符ASCII码值 ASCII码值字符 文本首字母应用:判断某个字符是英文还是汉字。 十进制十六进制(mod():取余;chr(x+55)VAL()函数 和STR()函数功能:文本中的数字数值 数值字符串只转换字符串中的数字; 转换后的字符串默认10个长度遇到非数字就结束; 不指定长度,只转换整数部分,自动四舍五入遇到字母e相当于10的几次方 指定长度,没有指定小数位数,只转换整数部分指定长度小于整数部分长度,溢出,只显示*号转换后字符串长度超过10时,采用科学计数法DTOC()函数 和CTOD()函数功能:日期字符串。 字符串中的日期形式日期。dtoc(date(),1)&显示固定无分隔符字符串len(dtoc(date(),1)&显示固定宽度8应用:建立索引表达式,按出生日期排序 应用:生日在星期几(5)其他常用函数TYPE()函数:检测返回值(输出结果)的数据类型BETWEEN()函数:判断一个值是否在某个范围内(适用于数值、字符、日期型)。IIF(条件,结果1,结果2)函数(*):条件函数,满足条件,输出结果1,否则输出结果2。特点:二选一,iif(,);三选一,iif(条件1,结果1,iif(条件2,结果2,结果3)应用:产生随机的英文字母(包含大小英文字母)MESSAGEBOX()函数:显示用户自定义对话框。函数名不能只写前四个字母,必须写全。GETFILE()函数:显示”打开”对话框。6.表达式:用运算符和括号连接常量、变量和函数(1)算术表达式:算术运算符连接数值(2)字符表达式:字符运算符连接字符串字符串1+字符串2字符串1字符串2字符串1-字符串2字符串1字符串2,同时字符串1结尾空格放到连接后字符串结尾字符串1$字符串2判断字符串1是否包含在字符串2中,结果为.T.或.F.(3)日期表达式: 日期+日期(无意义);日期+数字(有意义);日期-数字(有意义)日期-日期(有意义);(4)关系表达式:比较运算符连接相关数据;结果是真(.T.)或假(.F.)字符串排列序列:如何设置?“工具”菜单”选项”对话框“数据”选项卡”排序序列”Machine(机器)序列:空格大写字母小写字母(AZaz)PinYin(按拼音)序列:空格小写字母大写字母(aAbB)Stroke(笔画)序列:空格小写字母大写字母(aAbB)字符串相等比较精确比较运算符”= =”:完全匹配非精确比较运算符”=”:部分完全匹配set exact on状态下,精确比较,左串和右串去掉尾部空格,完全一样,结果为.T.set exact off状态下,非精确比较,右串和左串从开始部分匹配,结果为.T.。(5)逻辑表达式:逻辑运算符连接相关数据;结果是真(.T.)或假(.F.)NOT或!:逻辑“非”;AND:逻辑“与”;OR:逻辑“或”优先顺序为:()NOTANDOR7.NULL值(1)含义:表示未知、不确定的内容,没有任何内容。(2)区别:不同于数值0、空日期/、空字符串space(n)。函数empty()可判断给定的数值是否为0;可判断给定日期是否为空日期;可判断给定文本是否全是空格或只有空串。函数ISNULL()可判定给定内容是否为NULL值。(3)NULL值不是一种数据类型,给变量赋NULL值,保持原有类型。(4)在表的字段中以交互方式键入+来赋值。三、chap03数据库与数据库表的创建和使用1.数据库组成(1)表及表之间的关系;(2)视图(本地视图和远程视图)(3)连接(目的是创建远程视图)(4)存储过程(存储在数据库文件中的程序代码,可实现参照完整性)2.数据库的创建(1)创建:create database 数据库名(2)文件:.dbc(数据库),.dct(数据库备注),.dcx(数据库索引)(3)打开:open database 数据库名noupdate validate(4)添加表:数据库可包含多个表;一个表只属于一个数据库;自由表才可添加到数据库(5)关闭:close database;close databases all(6)删除:正常删除,包含的表变成自由表;直接删除,表还在但不自由。如何变成自由表:FREE TABLE 表名3.表的创建(1)表结构:表名+字段列表 表名:不使用字母A-J命名,扩展名.dbf 字段列表:字段名,数据类型(C、N、L、D、M、G)宽度(存储空间)、能否为NULL值(关键字不能为NULL)如果表中包含备注字段,生成相应的备注文件(.fpt)每个表最多255个字段。(2)如何创建? 用“表设计器”(看得见方式)用CREATE TABLE 表名(字段列表)(3)修改表结构modify structure &打开表设计器ALTER TABLE 表名 ADD COLUMN 字段名 数据类型(宽度) &增加字段 ALTER 字段名 数据类型(宽度) &修改字段 RENAME 旧字段名 TO 新字段名 &重命名字段DROP 字段名 &删除字段4.打开表:表文件从磁盘读到内存中(1)工作区:表文件在内存中的存放区域(2)工作区号:编号1到32767(3)如何打开?在当前工作区(系统默认当前工作区号为1)打开表use 表名 &每个工作区只能打开一张表,后打开的表替换先前打开的表选择当前工作区select 0 &选择未被使用的最小工作区最为当前工作区 select 工作区号 &选择指定工作区号作为当前工作区 select 表名 &选择表名作为别名所在工作区作为当前工作区在非当前工作区打开表use 表名 in 0 &当前工作区不变,在未被使用的最小工作区打开表 use 表名 in 工作区号 &当前工作区不变,在指定工作区打开表 指定工作区别名use 表名 alias 别名 in 工作区号 &在指定工作区打开表,并指定别名*工作区默认别名:1-10,别名为A-J;11-32767,别名为w11-w32767 重复打开同一张表use 表名 again in 工作区号&重复打开表;共享状态,无法修改(4)如何关闭?use &关闭当前工作区中的表use in 工作区号 &关闭指定工作区中的表 use in 工作区别名 &关闭指定工作区中的表 close tables all &关闭所有工作区中的表,将当前工作区设置为15.表中记录的处理(1)添加数据通过浏览窗口添加:打开表,“显示”菜单“浏览”;“显示”菜单“追加方式” 如何添加备注型数据?双击字段,出现“编辑”窗口;添加数据后,字段首字母变成M 如何添加通用型数据?双击字段,出现“编辑”窗口;“编辑”菜单“插入对象” 如何清除对象?双击字段,出现“编辑”窗口;“编辑”菜单“清除”通过Insert Into命令(通用)INSERT INTO 表名(字段名1,字段名2,字段名n)VALUES(值1,值2,,值n)INSERT INETO 表名 VALUES(值1,值2,,值n) &添加一条完整记录添加多条记录(导入)APPEND FROM 表名 APPEND FROM 文件名 delimited/xls(2)修改数据REPLACE命令(专用)命令格式:replace 范围语句 with for 范围语句:all | next n | rest | record nUPDATE语句(通用SQL命令)命令格式:update 表名 SET 字段名= where (3)删除数据逻辑删除(加删除标记,数据还在) DELETE ALLFOR;RECALL ALL &召回数据,撤销删除标记 DELETE FROM 表名 where 物理删除(真的删除,数据没了)PACK:彻底删除具有删除标记的记录;ZAP:彻底删除表中所有记录(4)复制数据(导出)COPY TO(专用)命令格式:COPY TO 文件名 Fields ScopeFORSDF|XLS|DELIMITEDcopy to 表名 &复制当前工作区表中所有内容到表名copy to 表名 FIELD 字段名1,字段名2 &复制当前工作区表部分字段到表名copy to 表名 FOR &复制当前工作区表中满足条件内容到表名copy to 文件名 sdf &复制当前工作区表中内容生成文件名.txtcopy to 文件名 xls &复制当前工作区表中内容生成文件名.xls(5)筛选数据set filter to &筛选表中满足条件记录set filter to &撤销筛选条件6.表中记录的定位(1)物理顺序:每个记录添加到表中时的先后次序。(2)记录号:记录在表中的物理顺序,可通过函数RECNO()计算(3)记录指针:存放表中当前记录号的变量(4)定位方式绝对定位:go/goto 记录号相对定位:skip 记录数表头和表尾判断BOF()函数:记录指针指向表头,返回.T.;EOF()函数:记录指针指向表尾,返回.T.。表头表中第一条记录;表头记录号=1表尾表中最后一条记录;表尾记录号=recount()+1条件定位(顺序查找):从表中第一条记录开始查找满足条件的记录LOCATE FOR CONTNINUE &记录指针指向表中满足条件的第二条记录7.索引的创建和使用(1)逻辑顺序:表中记录按照某个字段或某些字段重新排列的顺序(2)索引:可将表中记录按照某个逻辑顺序重新显示。特点:不改变表中记录的物理顺序。(3)创建索引:通过“表设计器”创建:打开表,“显示”菜单“设计器”“索引”选项卡 索引名:长度=10 索引表达式:先排序在前,后排序在后;不同类型字段必须转换一致 如何使用索引?打开表,“表”菜单“属性”“索引顺序”INDEX ON 索引表达式 TAG 索引名如何使用索引? SET OREDER TO 索引名 &指定主控索引,使用某个索引排序 SET ORDER TO &停止使用主控索引,重新显示物理顺序(4)索引的类型和作用*索引类型主索引:字段内容不重复,只有一个;实现主关键字候选索引:字段内容不重复,可有多个;实现候选关键字普通索引:普通字段内容可重复唯一索引:字段内容可重复,但重复内容只显一次。*作用:快速查找(二分查找)SEEK命令:对表中创建索引的字段内容进行快速查找use 表名 set order to 索引名 seek 数据值use 表名 order 索引名 seek数据值use 表名 seek 数据值order 索引名(5)索引文件复合索引文件:表中所有的索引都放在一个文件中。结构复合索引文件(扩展名为.CDX):文件名与表名相同,与表一起打开,与表文件同步更新;而且表中记录仍然物理顺序排列。非结构化复合索引文件:文件名不一定与表名相同,不随着表的打开而自动打开。独立索引文件(.idx):老版本FoxBASE采用,每个索引建立一个索引文件。(6)删除索引DELETE TAG ALL &删除所有的索引;ALTER Table 表名 Drop candidate/unique Tag 索引名&删除候选索引和惟一索引。8.数据库表与自由表的区别数据库表=自由表+主索引+扩展信息(1)自由表:不属于任何数据库,单独存放;数据库表:包含在数据库中(2)主索引和扩展信息包含在数据库文件中。(3)数据库表变成自由表后,一切扩展属性均自动丢失;主索引降格成候选索引。9.字段扩展信息的设置(1)字段显示内容字段格式:控制字段整体的输入内容A:只输入字母和汉字;!:转换为大写字母;t:删除前后空格输入掩码(inputmask):控制字段每位的输入内容A:只输入字母;9:只输入数字;X:输入任何内容;,:千分号,分隔整数标题:字段别名,不须加引号默认值:表中添加记录时,系统为字段指定的初值;类型必须与字段类型相同;可减少输入工作量。(2)字段验证规则:限制字段的取值范围(即域完整性),可检验输入内容是否有效。规则:条件表达式为.T.,才允许添加或修改操作信息: 提示内容须加双引号。(3)显示类:字段对应的默认控件(4)字段注释:字段的编辑说明,不须加引号。10.表扩展信息的设置(1)长表名:长度、=、=)连接。*步2:确定输出内容(通过字段选项卡)*可用字段:可以直接使用并输出的字段(表中已存在数据)*函数和表达式:经过计算和处理,输出表中部分已有数据或没有的数据;*统计函数max(数值型字段或数值型表达式):求最大/高值min(数值型字段或数值型表达式):求最小/低值avg(数值型字段或数值型表达式):求平均值sum(数值型字段或数值型表达式):求总和count(*):统计表中符合条件的行/记录数目*步3:对表中已有数据进行一次过滤(通过”筛选”选项卡)*步4:进行分组(按照某个字段不同取值将表中数据分成不同块) (通过”分组依据”选项卡)*涉及两个方面,是否分组?如何分组?*是否分组:输出内容中包含统计函数或聚集函数*如何分组:根据查询要求统计的全局数量范围进行分组,比如每位同学、各门课程、所有班级、全部系科等,就以相应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论