您好,欢迎访问三七文档
VFP教程(2011版)第一章数据库系统基础知识1.数据库管理技术的发展人工管理阶段→文件系统阶段→数据库系统阶段(之前)(20世纪50年代中期)(60年代中期)(至今)2.数据库系统的组成:一般由数据库(DB),数据库管理系统(DBMS),计算机支持系统,应用程序和有关人员组成。3.数据库系统三级模式结构:外部层(单个用户的视图),概念层(全体用户的公共视图)和内部层(存储视图)。外部层(它是面向用户的,体现了用户的数据观点)概念层(数据管理员所看到的数据库)内部层(是最接近物理存储的层次)数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可以供各种用户共享。3.数据库模型主要有层次模型(HM),网状模型(NM),关系模型(RM),面向对象数据模型(OM)。HM和NM统称为非关系模型,分别用树结构和网络结构对实体集和联系进行描述。E-R模型:实体、属性和联系。关系模型:用二维表表示实体集,通过外部关键字表示实体间联系。包括数据结构、数据操作和完整性规则。完整性规则:域完整性规则、实体完整性规则、参照完整性规则和用户定义的完整性规则。关键字:·超关键字(SuperKey):二维表中能唯一确定记录的一个字段或几个字段的组合·候选关键字(CandidateKey):一个超关键字中去掉任何一个字段后,不能再唯一确定记录。候选关键字既可以唯一确定记录,它包含的字段又是最少。·主关键字(PrimaryKey):候选关键字至少有一个,也可能多个。从候选关键字中可以选出一个作为主关键字。对于记录来说,主关键字必须包含一个不同于其他记录的唯一的值。即主关键字不能为空。·外部关键字(ForeignKey):如在学生表中,“学号”是主关键字,而相对于成绩表来说,“学号”便成了外部关键字。在关系模型中,从实际设计关系模式时,一般要求满足3NF。数据系统设计分为三个阶段:概念结构设计(如设计E-R图)、逻辑结构设计和物理结构设计。数据流程图外部实体数据流数据处理数据流数据存储第二章VFP数据管理系统概述4.命令说明命令的语法格式说明:·斜体字:该部分通常是指命令的操作对象或参数,由用户定义。·方括号:该语法成分在命令中时可选项,若使用则可使命令具有某一功能。·省略号:前一语法成分可重复多次。·竖线:前后语法成分选择其一。注:命令和函数只需写出前4个字符代替,命令单词间的空格,如clea(清除)几个常用命令:·*命令:功能是引导注释内容,通常用于说明程序或命令的功能(将整个命令行定义为注释内容,且必须为命令行的第一个字符),而&&用于命令的后面,引导一个注释内容。·?和??命令:在VFP主窗口中显示表达式的值。?为换行显示,??显示的值接着上一次的内容显示。·CLEAR命令:用于清除VFP主窗口中的内容,下次显示信息时从主窗口左上角开始。·DIR命令:显示文件的目录,缺省时仅显示表文件(.DBF)·MD/RD/CD命令:创建、删除文件和改变当前工作目录(即进入)·COPYFILE/RENAME/DELETEFILE命令:复制、改名(复制+重命名)和删除文件·RUN命令:用于调用DOS命令、DOS应用程序或Windows应用程序。·QUIT命令:关闭所有的文件,并结束当前VFP系统的运行,其作用等价于关闭VFP窗口。注:只有输入汉字需要切换,其他一切符号均在英文状态下。5.配置VFP操作环境SETCLOCKSTATUS(显示时钟)SETDEFAULTTOD:\&&该命令等价于命令CD:D:\常用的SET命令:SETTALKON│OFF决定VFP是否显示命令结果SETSECONDSON│OFF当显示日期时间值,指定是否显示时间部分的秒SETDEFAULTTO[path]指定默认的驱动区、目录(或文件)SETCENTURYON│OFF决定是否显示日期表达式的世纪部分6.VFP文件类型VFP主要文件类型:·.MEM内存变量保存·项目:.PJX(项目).PJT(项目备注)·数据库:.DBC()数据库.DCT()数据库备注.DCX()数据库索引·表:.DBF()表.FPT()表备注.CDX()复合索引·查询程序.QPR()生成的查询程序.QPX()编译后的查询程序·程序:.PRG()程序.FXP()编译后的程序·.ERR()编译错误·表单:.SCX()表单.SCT()表单备注·报表:.FRX()报表.FRT()报表备注·标签:.LBX()标签.LBT()标签备注·菜单:.MNX()菜单.MNT()菜单备注.MPR()生成的菜单程序.MPX()编译后的菜单程序·.EXE()可执行程序注:当用户创建了某一类型的文件后,保存在磁盘上有时是一个文件,有时还会同时生成一些一些相关的备注文件。7.VFP的项目管理即其操作创建项目:·在命令窗口中使用CREATEPROJECT命令,CREATEPROJECT[filename]·使用“文件”菜单中的“新建”菜单项·使用“常用”工具栏中的“新建”按钮对于已存在的项目,可以利用MODIFYPROJECT命令,或菜单命令“文件”→“打开”,或“常用”工具栏上的“打开”按钮来打开。8.VFP语言基础(1)数据类型:·字符型(C):由任意字符(字母、数字、空格、符号等)。每个字符为1字节,最多可有254个字节。字符型字段、变量和数组元素可以保存诸如姓名、名称、地址等文本数据。有些数据是由数字组成的编码(如学号、工号、电话号码、邮政编码等),应作为字符型处理。·数值型(N):用来表示数量。它由数字、正负号及小数点组成。小数点和小数位数是字段总长度的一部分。(8字节)·货币型(C):在涉及货币数据时,用货币型来代替数值型。如果小数位数超过4位,系统将其四舍五入到4位。(8字节)·日期型(D):8字节·日期时间型(T):8字节·逻辑型(L):(1字节),只有两个取值,.T.(真)或.F.(假)。·整型(I):占4个字节,用二进制存储,在存储4位以上的数据时比数值型占用的空间少。·备注型(M):数据块的引用,占4个字节,表备注文件名与表名相同,但扩展名为.FPT。·通用型(G):OLE对象引用(多媒体引用),在表中占4个字节。(2)常量与变量:名称命名规则:名称中只能包含字母、下划线“_”、数字符号和汉字。名称的开头只能是字母、汉字或下划线,不能是数字。系统预定了许多系统变量,它们的名称均以下划线开头,因此用户在定义名称时应尽可能避免使用下划线开头,并且表的字段名不允许以下划线开头。除了自由表的字段名、表的索引标识名至多只能有10个字符以外,其余名称可以是1~128个字符。应避免使用系统保留字。合法名称:cVar、nVar2、x_2、sum_of_score、_aver_gz不合法名称:2x、2_x、num-of-xs、nsum&score、_aver#gz、use等(use为系统保留字)常量:·数值型常量,常用于表示数量的大小。·货币型常量,用于表示货币值。如$100.35·字符型常量,又称字符串,定界符有单引号、双引号或方括号。(''//[])注意:a.不能用中文标点的单引号或双引号作为字符串的定界符;b.定界符必须成对匹配;c.如果某种定界符本身也是字符串的内容,则需要用另一种定界符表示该字符串;d.不包含任何字符的字符串()称为“空串”,它与包空格的字符串()不同;e.字符串中字母的大小写不等价。·逻辑型常量,.F.、.T.,字母前后的点符号是逻辑型常量的定界符,不可省略。·日期型和日期时间型常量,定界符是一对花括号,空日期值用{}表示。(3)内存变量·变量的创建:使用STORE命令或赋值运算符“=”直接进行赋值,前者可以在一条命令中为多个变量赋值,而后者一条命令只能为一个变量赋值。例如:STORE123TOc,d&&产生两个字符变量c=123&&产生一个字符变量·控制变量访问:LOCAL指定局部变量,PRIVATE指定私有变量,PUBLIC指定全局(公共)变量。·访问变量:若变量和字段同名,则字段拥有更高的优先权。可在变量前加上“m.”前缀来引用它们。例如:在当前工作区中打开的xs表存在一个名为xh的字段,则可以使用下列命令显示变量的值和字段值xh='我是变量'&&定义一个字符型变量?m.xh&&显示变量xh的值?xh&&显示xs表的xh字段值?xs.xh&&显示xs表的xh字段值·内存变量的保存与恢复:内存变量是系统在内存中设置的临时存储单元,当退出VFP时,其数据自动丢失。SAVETOFILENAME[ALLLIKESKELETON]FILENAME为内存变量文件的文件名,其默认的文件扩展名为.MEM;Skeleton为变量名通配符,用于指定哪些变量需要保存(使用ALLLIKE子句时),或那些变量不需要保存(使用ALLEXCEPT子句时)。使用(*)或(?)来指定多个变量。缺省时保存当前所有的内存变量。例如:下列的命令可以用于将第2~4个字符为“Yan”的所有变量保存到mVar内存变量文件夹中SAVETOmVarALLLIKE?Yan*要将内存变量文件中所保存的内存变量恢复到内存,可以使用RESTOREFROM命令RESTOREFROMFILENAME[ADDITIVE]使用关键字ADDITIVE,则当前已存在的内存变量仍保留,只是将内存变量文件中的保存的内存变量追加到当前内存中来(若当前内存变量名与内存变量文件中的变量名相同,则进行覆盖),否则当前内存变量被清除。(4)数组·数组的声明:在绝大多数情况下,数组在使用时必须预先声明。私有数组:使用DECLEAR命令使用DIMENSION命令全局数组:使用PUBLIC命令局部数组:使用LOCAL命令DECLEAR│DIMENSION│PUBLIC│LOCAL数组名(行数,[列数])例如:DECLEARxx(4)&&定义一个一维数组xxDIMENSIONxy(4),xz(5,2)&&定义一个一维数组xy和一个二维数组xzPUBLICab(20),cb(40)&&定义两个一维数组ab和cb·为数组元素赋值:数组和变量一样可以拥有任意数据类型。数组在声明之后,每个数组元素的默认逻辑值为逻辑值.F.。例如:创建一个有6行3列的二维数组,然后给第1行的第2列元素赋值DIMENSIONArrayName(6,3)ArrayName(1,2)=123也可以用一个语句为所有元素赋相同的值。例如:将ArrayName数组的所有元素赋以123ArrayName=123不同数据存储容器的作用域常量私有变量公共、私有或局部数组公共、私有或局部字段永久存储对象属性通过对象和对象容器层次被引用9.VFP系统函数函数是预先编制好的程序代码模块,可由VFP程序在任何地方调用。每个函数可以有0个,1个或多个参数(参数间用逗号分隔),有且仅有一个返回值。函数分为“系统函数”和“用户在定义函数”。函数学习:a.使用方法、名称、功能、参数、返回值b.语法格式c.注意点d.特例(1)数值函数·ABS()函数:返回绝对值例如:?ABS(-45)&&显示45?ABS(10-30)&&显示20·MAX()和MIN()函数:返回最大值,返回最小值·INT()函数:取整例如:?INT(12.5)&&显示12?INT(-12.5)&&显示-12·MOD()函数:取余MOD(nDividend,nDivisor)被除数除数被除数表达式中的小数位数决定了返回值的小数位;除数表达式为正,返回值为正,否则返回值为负。例如:?MOD(36,10)&&显示6?MOD((4*9),(90/9))&&显示6?MOD(25.250,5.0)&&显示0.250?MOD(23,-5)&&显示-2?MOD(-23,-5)&&显示-3·ROUND()函数:四舍五入例如:SETDECIMALSTO4&&小数位为4位SETFIXEDON&&固定显示显示小数位?ROUND(1234.1962,3)&&显示1234.1960?ROUND(1234.1962,2)&&显示1234.2000?ROUND
本文标题:VFP教程
链接地址:https://www.777doc.com/doc-5155477 .html